OK, that solution works only partially, at least for me.
If you modify the initial screen position of the window with dbSetWindowPosition, it starts in the middle, with the black screen, and some milliseconds after, it goes to your desired initial position.
My solution was to open the core.lib source, and in DBDLLCore.cpp, changed the initial startup position to be outside of the visible screen. In the app, then I have to position the window wherever I need it. So its first visible position is the X,Y coordinates I code instead of the center.
In the indicated cpp source, go to about line 1680, comment the original coordinates and place the new ones.
Then, compile core.lib and place it on your development lib folder.
It works as charm now. It is a solution for window mode, not tested in other modes.
Warning> In the app startup you MUST add a dbSetWindowPosition with coordinates, or the window will always be offscreen.
// If running in window mode, start in center of screen
if ( dwDisplayType==1 && bOverrideWindowCenteringToSupportActiveXFraming==false )
// JDForce change for setting initial position offscreen
// original code
May the 3d force B with U