Bueno, se me ocurrio hablando con Zero una manera de detectar desde 32bits si el SO es de 64 y se me ocurrio esto para solucionar su problema
Gracias Zero por preguntar
bool __declspec(naked) is64BitOS(){
__asm{
mov eax,fs:[0xC0]
test eax,eax
je _32bits
mov eax,1
_32bits:
ret
}
}
Saludos