[Windows 8 Development and Hacking] SixSixSevenSeven:
One thing that immediately stands out, GPS. Is this using the tablets integral GPS, a USB unit or a serial/bluetooth unit? If its not integral or USB (and even then, some USB ones are USB>serial adaptors followed by a serial unit) then WinRT wont function with it. You dont get any access to serial ports, parallel ports or the onboard i2c interface via WinRT. Everything is a higher level abstraction wrapping up low level functionality, you get not raw access to it yourself. Most of these tablets out will be using a serial GPS as that is what is most common (or possibly an i2c one but thats something I have never seen before) and WinRT will provide a nice set of wrappers to let you interface with the integral GPS only, but it wont give access to the serial port or the bluetooth serial profile which means it will ignore bluetooth, external serial or certain USB GPS devices. So yes, WPF would certainly have the edge there. But if we are just talking the GPS chip built into the tablet, WinRT will suffice and provides easy access to all onboard sensors, its only external ones that will cause headaches.

WinRT vs regular .NET speed wise likely wont make much difference. I'm not sure that WinRT is fully AoT dependant for its apps (except C/C++), I think it still falls back on .NET, and even if it is AoT the .NET JIT is almost as effective (and with some kludging can be set to AoT I think, mono certainly can and can cope with WPF applications).

I dont own a tablet so cant say too much on touch, I have only handled display model tablets. Tbh, I found most desktop apps annoying on tablets. even if you enlarge buttons and fonts to make them more touch friendly you can run into additional issues, a menu thats too long to fit on screen cant necessarily be scrolled with a touch friendly gesture (well, you can try, but your probably going to have to write some of your own code, might not be that hard actually, I havent tried). If the app is purely meant for touch then I would go WinRT unless there is a specific reason not to.

Updating taking 7 days I dont see as a major problem, everyone else does it and on numerous platforms. It may well take 1 day to integrate a new tech into a WinRT app and 2 weeks on the WPF app in which case the WinRT guys still get the new tech before WPF, or vice versa is equally likely.

NFC communications, GPS and cameras are all easily done in WinRT (with the previous restriction, device only, non external, I assume a webcam works though).

WinRT is probably the more secure option too.

If I were you I would write down each little thing the app needs to do in order to function, ie access a specific type of GPS (you already said you wont share, thats fine). Then go down the list and start ticking off which ones WinRT has the technology to do. We can pretty much assume that eventually WPF will also do it so there is little reason for a WPF checklist. If you get to the bottom of the list and WinRT is fully ticked off, then go with a WinRT app. If there are a few things missing, well then start to weigh up whether it would be better to try and get a WPF app playing nicely with touch and implementing a few things at a lower level or alter the design specification to fit WinRT, I assume there is a client involved here, if there are issues sit down with them and discuss your thoughts and see if they are happy with changes to go one way or the other.