I solved this by using the "Insomniac" approach - if you play a silent sound every 30 seconds or so, the scheduler will reset the sleep timer and the app will keep working. It drains the battery in around 1 day though.
Love the idea of the silent sound. Alas, that and the IP backgrounding is a bit clumsy. We pass through Apple's store guidelines without powering up the GPS.