Wil is right...
The way Gilles wrote the routine is for the values of dblLat and dblLong to be passed back out of the subroutine. In VB6 the routine works great. In .net in addition to all the syntax changes you have to pass the two lat long varaibles "ByRef" so the routine has access to change them. This is all explained by Gilles here:
http://www.mp2kmag.com/a66--location....mappoint.html
Good luck,
Ciao,