That should be SetforegroundWindow(), SetFocus() only applies to your own windows, you can't make the focus go to a window that your process isn't related to.
And in XP/2K there are user settings for what you want the default behaviour of SetforegroundWindow() to be.
Worst example of a bad application stealing the focus is Media Player 6, every time to switches to a new song it puts itself in the foreground.