Amanda,
>Here is something else odd to add to the mix, the form will close with Alt+F4, but not with the close button or the form navigation bar.
Ok, what's different between those two release methods? You should be able to trace through the code in the debugger and find what Alt-F4 is doing that isn't being done the other ways. Look in ght QueryUnload(), KeyPress() and Release() methods as a start. Some of the relevant code may be buried in the class hierarchy. Make sure you have dodefault() calls everywhere to make sure you are not completely overridding the behavior.