You were relying on a compiler syntax bug and now VS2008 is helping you. In some inherited code, I can't believe how much syntax slack the VB2003 compiler wasn't catching which the VB2005 compiler did. I wonder if there's more surprises in the VB2008 compiler. Looks like this is the same situation in C# or C++ above. I should extract my C# code and test it under C# 2008. I still can't move some other C++ off 2003 because of ATL changes.