Vim's vi-compatible undo is not limited to single-level -- it just behaves slightly differently than the default Vim undo. Rather than repeating undo with the 'u' key, the 'u' key reverses the undo/redo direction, and Ctrl-R repeats in the current direction. BSD's nvi behaves similarly, but it uses '.' rather than Ctrl-R to repeat. (I hope that explanation is understandable.)
Since I used vi for years before switching to vim, I became accustomed to using repeated presses of 'u' to review my most recent change (undo/redo/undo/redo). I find multi-level undo EXTREMELY valuable though, and wouldn't want to lose that.
Regarding the cursor position after undo... in vim, the behavior is effectively the same as setting a mark at the beginning of every edit operation, then jumping back to that mark (with backquote) after undo.
Thanks for your prompt reply! I'm impressed with ViEmu -- I'm generally skeptical of vi emulation in non-vi editors, because vi has so many subtleties. After using ViEmu for a couple days and seeing your responsiveness to issues, I'm optimistic that I'll be able to use it to improve my Visual Studio experience.