Idealy, the harware keys of device should be totaly configurable in Run.GPS. I mean, in the configuration menu of Run.GPS I should see two lists: the lists of harware keys of device and the list of available operations. A user then can define which key is responsible for custom operation, like start/stop training, start new lap, go to navigation/record panel, mark a placemark and so on (or left as it is defined in windows). Such functionality is available in Windows CE system for global operations. It is worth to move this functionality to Run.GPS.
The big problem I have on a windows smartphone (no touchscreen) is the start stop button is the main button on the device. It is used by nearly all phone apps/functions and if you are not very careful while Run.Gps is running, you run the risk of turning recording off/on by mistake.
I was recording a training then decided to take a picture while keeping the recording going. Sometime during the flip over to the camera phone, taking a pic or two, and flipping back into Run.gps back, the recording got turned off and I did not notice it, so I lost a big part of the track.
It is not such a big issue if you go to the Recorder screen as it has a large recording indicator in the opt left corner but I was using the Map screen and the record indicator is a little icon in the bottom bar, too easy to miss. Also, the same in the Navigator screen.
This was a issue since day one and I figured it was just learning curve problems but it is still catching me so I figured it was worth mentioning.
Another possibility would be to use a audio cue for start/stop which would be independent of the voice mute. So, even if you have voice turned off, you could have an option to give audio cues for various things such as training start/stop, maybe other key functions.