The problem with flickering is likely due to the larger numbers of IDCMP_NEWSIZE messages an app will get under OS4.x combined with the abilty to resie the window and contents continuosly.
To cope with this in a couple of apps I've had to update I set a flag when an IDCMP_NEWSIZE occurs then deal with it after the current batch of IDCMP messages has been processed.
eg (in psudo code)
while(Wait(flags)
while(msg = nextmsg)
{
if IDCMP_NEWSIZE needs_resize = TRUE;
/* handle other stuff */
}
if(needsresize)
{
doresize
needs_resize = FALSE
}
}
I've used this approach to fix the non reaction main window of AWeb, dme and a few other small things "ported" from 3.x.
As Thomas says, it might be worth "upgrading" to a reactionGUI which will handle all the resizing etc for you