Your source code, unchanged, returns the correct latitude and longitude for my location when run on my HTC Touch Diamond with internal GPS - this is not surprising as this is the device I used to develop the original version of GPSDriver for Erel. I have also tried it on my iPAQ214 with an external Fuzion Bluetooth GPS and that worked correctly too.
From the information you gave in a previous post it looks to me as though there is a bug in your device. GPSDriver calls the Windows GPS Intermediate Driver directly, not a COM port, to access GPS data and the data is provided ready parsed, not as NMEA sentences. The data it is providing you with appears to be in the format of the original NMEA string which is "ddmm.mmm". It should be converting this to "dd.dddd" but it looks like it is not and it seemsto be passing it through unchanged.
Your other GPS apps probably work because they are using the GPS either directly through a COM port or indirectly through a virtual COM port set up by the GPS Intermediate Driver. Which of these it is depends upon how you have set up the device and the apps. In either case they will be receiving data as NMEA sentences whixh is what they expect from a COM port, and not the ready parsed GPSDriver data. Presumably the original NMEA data is being passed through correctly.