Its now possible to stop a sound recording part-way through, but only
if you are using code. There's no Builder support yet, and there is no
support for pausing and resuming a recording (just start a new one).
The new code is on github,
https://github.com/jeremygray/psychopy/blob/ec866dfd14c28a0effd4abd508c984556531a93c/psychopy/microphone.py
download the whole file microphone.py, and replace your copy with the new one.
You have to use a non-blocking call to mic.record(..., block=False),
and you can then call mic.stop() whenever you want, e.g., after a
key-press has been detected.
I think this is working, but its possible that there may be a few
issues. Just let me know.