What I really want now is an app that tracks signal strength over the whole day alongside GPS location and plots out what it sees.
Drakino and I work for a company which
makes just such a thing. Only thing is, it's an enterprise-level program that reports its data back to your company server so your company can keep track of the network performance of its mobile fleet. Getting the mobile client app isn't useful unless you have the server to aggregate the data too.
Making it work perfectly (i.e., not doing things like reporting an incorrect signal strength when you're disconnected) is part of our QA effort.