From NUMINOUS HQ:
"1. IMO it depends. sometimes you want an action to only happen when the user releases a button, and that makes sense from a UX perspective, however it can tend towards the player needing to hold it down and release at the right time. The spirit behind the requirement is not depending on the ability to hold down a button. So relying on both onkeydown AND onkeyup defeats the purpose. remember these are just arbitrary guidelines in an attempt to design for the most situations possible"
"2. yes. there are different ways to approach this, cycling options is just one, giving more margin of error, allowing for undo if they choose the wrong one accessible options to control speed, or pausing the player at decision points. we're still experimenting with this and don't have a universal solution yet. each solution is likely context sensitive. an ideal solution would allow the user to scale time down to zero to wait for their input. but that might not always be feasible"