Hi Hugh,
Thanks for looking at this issue with wine's cmd
I do not think this patch is enough - From memory (I once tried something similar) the problem with resolving it the way you have is you then lose the ability of breaking out of a batch program. I think the right solution needs an actual handler which resets back to the command prompt mode, optionally asking something like whether you want to end the program or not (with a no continuing from where it left off, with consideration around for loops etc!).
I would suggest it's better to allow control c for now rather than get into situations you cannot terminate
Jason