Steve,
all I can say is that the code I gave you works for me every time, there must be an error somewhere but without going through the whole thing with you, which I don't have time to do at the moment, I can't help you any more.
Perhaps one of the WA techies can shed some light on this for you.
Sorry I can't be of more help.