techman, I appreciate your good list of items to go over:
Is the micro controller a new device or a old one that used to run fine until recently ?
It is a new device, and I've swapped it out with a couple other known working devices with the same result.
Is the switch old and possibly dodgy perhaps briefly activated by vibration from the relay or motor turning off ?
The switches are all brand new, and this happens even if I physically remove them from the vibrating chassis.
I assume the relay has a reverse polarity diode across its coil ?
Yes, I'm using a well designed relay module that has an isolated input (opto-iso+driver). So the uC shouldn't be seeing spikes from the coil.
Is the switch detector circuit low impedance for spike rejection?
4k7 pullups, and I've even tried 1k with the same result
Does the micro firmware have decent switch debounce rejection ?
Yes I did implement software debounce... IIRC ~100msec, and scoping the buttons they settle <5msec max.
Is there sufficient separation of the mains and micro wiring so spikes aren't picked up ?
Here is where I may start running into problems. There was only so much room to pass the mains/motor lines and uC logic lines. The bundles do touch as they go through a hole, but the "parallel length" is just 1" or so. I didn't think that would result in much capacitance, but maybe it's enough?
If you're getting spikes that are upsetting the micro, is it resetting or other undefined behavior as well, or is it only related to spurious 'switch' detection ?
It is always a behavior defined by code... literally as if I hit an up/down/select button right when the motor shuts off. No undefined states, no reset, no crashes etc. That's what led me to try the 1k pullups at first.
Does the switch problem only occur when the relay is de-energized ?
Yes, so far no issues switching on, and no issues while running or while off. Only issues when the motor relay is opened.
Is there local bulk capacitance at the micro Vcc pins ?
Yes, on top of the built in decoupling caps in the pro-mini, I also added 0.1uF and 1nF ceramics to the uC Vcc pins.
Is the lead to the wall wart running parallel to mains leads,perhaps the motor wires ?
Just my 2c 
Similar to the above question, yes for a short length it is parallel.
To extend what you were getting at to my application... yeah I probably should redesign the enclosure and wire routing to minimize/eliminate mains || TTL routing. Since it is a publicly available design, I will do this, but that said, my haphazard testing has shown a major spike when the fan relay opens, and already a significant increase in the rise time (and of course reduction in peak Voltage) of the transient when I added a random valued snubber in parallel (using parts I had on hand, 0.33uF/X2+200ohm/1W). Rerouting wires might help, but rerouting and adding a snubber would be even more reliable I think. I plan to give the circuit with random snubber a more thorough run just to see if the snubber stops the phantom button presses (like 100 cycles... without my scope attached... the floating issue turns me off). If that doesn't work, I'll have time before more assortment of snubbers arrives to redesign the enclosure.
Diverting back to the topic of measuring inductive loads... I should add "on a floating circuit"... with this exercise I realized that such measurements will require either an iso transformer or diff probes. I think the transformer route will be adequate for most of my needs. Then, if I find myself having to probe more energetic transients than my probes can handle, I'll consider investing in 100x HV probes. Diff probes are nice, but decent ones cost more than my scope lol!
Kevin