j--
The TinyGPS documentation is still pretty flimsy, I'm afraid.
Your GPS has never gotten a "fix" if the "fix_age" parameter in get_position() and get_datetime() returns GPS_INVALID_AGE (0xFFFFFFFF). Under normal circumstances, fix_age is the number of milliseconds since the last valid fix was recorded. When things are working properly, I never get a value more than about 1000, since my GPS provides fix data every second or so. If you start seeing this value get above 2000 or so, it is probably an indication that you had a fix at some point, but no longer do.
Also, if you have never gotten a fix, lat/long will be returned as GPS_INVALID_ANGLE. Otherwise, these will be the from the latest valid fix -- whenever that was.
Mikal