Só estranhei ninguém reparar nisso.
https://sourceforge.net/p/hwgui/bugs/66/
FUNCTION hwg_ReleaseAllWindows( hWnd )
LOCAL oItem, iCont, nCont
// Vamos mandar destruir as filhas
// Destroi as CHILD's desta MAIN
#ifdef __XHARBOUR__
FOR EACH oItem IN HWindow():aWindows
IF oItem:oParent != Nil .AND. oItem:oParent:handle == hWnd
hwg_Sendmessage( oItem:handle, WM_CLOSE, 0, 0 )
ENDIF
NEXT
#else
nCont := Len( HWindow():aWindows )
FOR iCont := nCont TO 1 STEP - 1
IF HWindow():aWindows[iCont]:oParent != Nil .AND. ;
HWindow():aWindows[iCont]:oParent:handle == hWnd
hwg_Sendmessage( HWindow():aWindows[iCont]:handle, WM_CLOSE, 0, 0 )
ENDIF
NEXT
#endif
Não precisa ser diferente em Harbour.
Assim fica parecendo que o Harbour é inferior e não tem FOR/EACH.
Além de poluir o fonte sem necessidade.