Lets play spot the bug.
void wnMoveWindowOnScreen(wnWINDOW * Wnd)
{
grRECT Rect;
grRECT ScreenRect;
wnGetUsableDeskTopRect(&ScreenRect);
wnGetWindowRect(Wnd, &Rect);
grMoveCropRectBotomLeft(&Rect, &ScreenRect);
wnMoveWindow(Wnd, Rect.Left, Rect.Right, grRECT_WIDTH(Rect), grRECT_HEIGHT(Rect), 1);
}