Cheers for the pointer to the patches, i'll have a look.... I may be over simplifying things (and i haven't looked at probably nearly enough of the jdbc code) but surely the driver knows from the server what types it is returning and can thus convert to whatever the user wants in the same way it converts from string.
Yes, it does know what types it is returning but it also has to do some more work to determine the native representation. As I mentioned there is at least one problem that I am aware of and that is different server types for datetime.