Switching from windowed SDL to another fullscreen in Win32 and back

is this a bug or what, but when in Windows i switch my windowed SDL game
to another fullscreen application (FAR, NC etc.) and then switch back to
my SDL game it seems, that this windowed surface is not restored. Because
the only way i can do something is to delete old screen surface with
SDL_FreeSurface, and then again call SetVideoMode to get a new window
where i can draw.
No errors are generated when the screen surface is lost, and i’m blitting
to it.
A fullscreen mode works correctly, in such situations.

And another weird behavior- i have TNT card and for me all works, but
on other cards when i have several surfaces with different colors keys and
i blit them to a screen, it seems that just one of all different colorkeys
is used. And thats why i get colored rectangles around the sprites. Is
this a bug or what?

I’m using SDL 1.0.4 and Win98.