ForceGDIRender is only used when running in GDI mode and you will probably never need to use.
ResetRenderState is only if you render directly to the Direct3D display device and needs to be called if you change any of the render states.
The embedded window will only be updated when its visible state is changed, not when you move it.
ZOrderMoveToTop changes the order in which overlays are rendered over each other, not whether it is rendered.
Does the overlay always appear if you change the visible state in a button press?
You might also try setting the visible state in the OnEndTransition event of the module you are entering.