Hmm,
Well the whole headername / headername.h thing is fairly recent in C++. According to the current standards, the .h part of the name is redundant (the compiler knows you're talking about a header). However, the .h should still work fine. Personally when I write my headers I stick to .hpp ;-)
As for your woes, I guess there may be a problem at the linker stage. After I posted the iostream thing I realised that it wouldn't really matter - the STL components that use IO stream would include it themselves. Since your main file isn't using any iostream stuff, things should be ok even though you didn't include it there.
My guess is that somehow your installation is broken - some .lib files may be missing or the compiler is somehow looking in the wron place for them.
Unfortunatley, I recently had to flatten my developer partition :-( so I need to go the the whole install/build hassle again...