so I've done a load of trials.
1. A latch switch doesn't really work because you have to press it twice to shutdown and to boot again.
I couldn't work out why at first, but I swapped the switch with some jumper wires then realized what was happening. When you turn the switch off it shutsdown and powers off, but its a closed circuit (drawing current) at this point to trigger the shutdown script, so in order to boot from the same button press it needs a new signal so you have to press the switch twice to cut the switch signal and create a new signal.
I also tried hacking the 'softshutdown' script, which nearly worked. I added the 'sudo' shutdown script to a python file (I need other things to happen before the pi totally shuts down you see), which works fine as long as you press the switch longer than 3 seconds, but any less and it shutsdown but doesn't cut the power and the 'bootok' led just flashes.
The softshutdown script is modified to be triggered using the shutdown button, then I was hoping the simulated 4 second press in the script would trick the ATX board into thinking it needed to shutdown and poweroff no matter how long the button was pressed for.
It must be something in the firmware that is also counting how long the shutdown button is pressed for, can't seem to python my way round of just having a single on off press to shutdown, poweroff and boot.