とりあえず前後だけ。ほんとにナゾ・・・
これでもダメだったら恥ずかしい部分(コード的にじゃなくて)修正してうpします。

static HMENU hMenu,hSubMenu;
MENUITEMINFO info;
ZeroMemory(&info,sizeof(MENUITEMINFO));
static DWORD dBuf;
/*メッセージ分岐*/
case IDM_TOPMOST: //システムトレイアイコン右クリック時ポップアップメニューの中にある最前面表示切替
info.cbSize = sizeof(info);
info.fMask = MIIM_STATE;
hMenu = LoadMenu(hInst,MAKEINTRESOURCE(IDR_MENU1));
hSubMenu = GetSubMenu( hMenu, 0 );

GetMenuItemInfo( hSubMenu, IDM_TOPMOST, FALSE, &info ); //チェック状態取得

if((info.fState & MFS_CHECKED) == MFS_CHECKED){
dBuf = MFS_UNCHECKED;
SetWindowPos(hWnd,HWND_NOTOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
} else {
dBuf = MFS_CHECKED;
SetWindowPos(hWnd,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
}

info.fState=dBuf;

hMenu = LoadMenu(hInst,MAKEINTRESOURCE(IDR_MENU1));
hSubMenu = GetSubMenu( hMenu, 0 );
SetMenuItemInfo( hSubMenu, IDM_TOPMOST, FALSE, &info );
break;