Game.IsActive will tell you if your game is in focus. So if your game is not the topmost it will be false. Can you show the code where this doesn't work? I've tested the property quite a bit and I've never seen it not work (except back during the 2.0 beta, but they fixed it for release).
For instance, create a new game project. Then remove the Clear command in the Draw method and replace it with this:
if (IsActive)
graphics.GraphicsDevice.Clear(Color.CornflowerBlue);
else
graphics.GraphicsDevice.Clear(Color.Magenta);
and you'll see when the window isn't the topmost, it will be pink and when it is in focus it will be blue. I just tested it so I do know this works.