Yes,
One or more of the surfaces (probably the back buffer) are stored in video memory and have been lost when you switched to the desktop. The reason for this behaviour is that it will work exactly the same if a game runs on a hardware-accelerated PDA and is minimized...
You can simply call CGapiDisplay::SurfacesAreLost() on each ProcessNextFrame(). If it returns GDERR_LOSTSURFACE one or more video surfaces have been destroyed. You can then call CGapiDisplay::RestoreAllSurfaces() to restore all video surfaces (unfortunately the contents of the surfaces have also been destroyed and you need to reload all bitmaps etc using CreateSurface again - GapiDraw will not reallocate memory if the surface size hasn't changed if CreateSurface is called multiple times).
It's a good idea to not check for lost surfaces and restore them if the application is minimized (since restoring the backbuffer will fail on each try).
I'm currently working on a detailed documentation on the HW implementation, with a number of "do"s and "don't"s...