TopMost is limited to the application windows and even at that may be limited to non-modal windows. I'm not sure why it isn't popping up in front of it's own though. I would recommend using the SetWindowPos API to set the form as TopMost for All windows regardless of application. You'll need to test for the focus issue but I believe you can show the form without focus even using the API.
VB Code:
  1. Imports Microsoft.Win32
  2.  
  3. Public Class APIFunctions
  4.     'This class contains some of the API functions that i haven't found a way around in .NET yet.
  5.     'Primarily related to playinf sounds.
  6.  
  7.     Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Int32, ByVal hWndInsertAfter As Int32, ByVal x As Int32, ByVal y As Int32, ByVal cx As Int32, ByVal cy As Int32, ByVal wFlags As Int32) As Int32
  8.     Private Const HWND_TOPMOST As Integer = -1
  9.     Private Const HWND_NOTOPMOST As Integer = -2
  10.     Private Const SWP_NOMOVE As Integer = &H2
  11.     Private Const SWP_NOSIZE As Integer = &H1
  12.     Private Const TOPMOST_FLAGS As Integer = SWP_NOMOVE Or SWP_NOSIZE
  13.  
  14.     Public Shared Sub SetTopMost(ByVal frm As Form, ByVal topmost As Boolean)
  15.         If topmost Then
  16.             SetWindowPos(frm.Handle.ToInt32, HWND_TOPMOST, 0, 0, 0, 0, TOPMOST_FLAGS)
  17.         Else
  18.             SetWindowPos(frm.Handle.ToInt32, HWND_NOTOPMOST, 0, 0, 0, 0, TOPMOST_FLAGS)
  19.         End If
  20.     End Sub
  21.  
  22. End Class
  23.  
  24. 'syntax
  25. APIFunctions.SetTopMost(Me, True)