midje-recheck-last-fact-checked doesn't want to recheck the last fact if the compilation fails. The right way to do that would be to add a hook function to slime-compilation-finished-hook, but I couldn't make that work - the new hook function gets stripped before slime-compilation-finished is reached. Perhaps that's because the list of allowable hook functions is given to defcustom? But it happens even if I override that list with custom-add-option (or even directly editing the plist entry).
So I hacked my own "around" function like this:
(unless (fboundp 'original-slime-compilation-finished)
(setf (symbol-function 'original-slime-compilation-finished)
Someday it'd be nice to figure out what's going on and do it right.