I agree the code itself looks OK. It works fine on other clients servers. That's why I mentioned about NT 2003 ... I thought there might be something different about that server type with permissions, etc.
I will try the $^E to see what I get. It might be a couple of days before I get access to that server again.