I came across very strange bug in .NET yesterday. It seemed that ShowDialog() doesn't work as it should. Under certain conditions the shown form is not modal.
It happens in Shark when after the application is inactive certain amount of time and we want to show Login form and lock the application until you enter your password.
It seems that this only happens if you run the app on Windows Server 2003 (which is our developement platform) and it doesn't happen on XP. I haven't tested it further but the first result on fairly general search on Google Groups confirmed that there is something wrong.
Luckily, simple Application.DoEvents() call before ShowDialog() solves the problem.
I can get my test application so you can check it out for yourself. You can get the source code or just the executable.