If I read that patch right, it ignores (and does not even reraise) SystemExit (unchanged), but other Exceptions currently block the dump (and your patch causes them to still dump). (1) Why is SystemExit ignored? (2) There should be tests to show that there was a dump after, say, a MyError. (3) You can use a single try ... except ... finally statement instead of two try statements.
Jim the code was lifted verbatim from Lib/cProfile.py, line 47. That code in cProfile.py has not changed since 2006 when it was committed by Armin Rigo. I can modernize it if it's a requirement to get it committed, but I'm also okay with my conservative patch as is.
The same fix should be applied to runctx() too. The SystemExit handling is fine, it's in the original code also. I would recommend making a single try-except-finally statement.
I wasn't aware of this issue (sorry) and I have already fixed this back in cset 422169310b7c for the 3.4 branch. 2.7, 3.2 and 3.3 branches can still be fixed though.