Ack, sorry graff, you are completely correct.
The solution is that it does work as you'd expect. I found a stupid little error that was causing the whole script to fail. Should have spent another 5 minutes debugging before writing this one up. I'm under the gun and then jumped the gun. :(
Thanks for the reply.