Eu não e passo longe do Assembly. Este foi um erro sutil que me aconteceu e fiquei algumas horas para achá-lo porque tenho que utilizar o Move no recebimento de dados de uma classe que trabalha com Sockets; então de acordo com o tipo de dado vindo pelo SendBuf, alimento os campos Double, Integer, Smallint, Boolean, etc . . . O que aconteceu foi o envio de um tipo Byte com valor 8 que joguei para um Boolean e com isso a condição não satisfazia true e nem false.