.NET is for the weak, that's why we keep on trucking in VB6! The compiler is perfectly capable to coerce value types as needed:

Code:
Debug.Print 1 = "1" ' Prints True
I am more interested why exactly it produced Type mismatch only for @cliv above. Maybe it's an issue with SP6 not being installed or more likely an outdated TypeLib, either way it should work correctly all the time.