Напиши так
unsigned long aaa = 1;
signed long bbb = -1;
if ((signed long)aaa > bbb) {}
else {}
И будет щастье.
Компилятор не может работать с выражениями разных типов. В данном случае он приводит их к типу unsigned long, и -1 получается 0xFFFFFFFF, что не может быть меньше 0x00000001.