Don't use the TopMost property just to keep one modeless form on top of another in an application. That's what the Form.Owner property is for!
Here is one reason why this is bad: If you have a TopMost form (like a find/replace form) on top of some main form, and a modal form is launched, like a message box, it might get trapped between the main form and the topmost form ... you wont be able to see the message box or interact with either form using the mouse in this case and have to use the keyboard to just close the message box without even knowing what it says!
Another reason is that it is highly annoying to have windows from one application forced to be above windows of another application (unless you really need this functionality). TopMost does this ... using Form.Owner does not.
If your main form is some native Windows window, meaning you can't set it as the Owner of your modeless form, then you'll want to show your modeless form with the Form.Show(IWin32Window) method, passing something that wraps your native Windows window like a NativeWindow object.
The fact that this was the only example given for TopMost, and its a bad example, is an indication that there aren't very many good reasons to use this property.