А>Вот это было пораньше http://bugs.freepascal.org/view.php?id=25370 
Если честно, вы меня немного расстроили.
Идея витала у меня давно, но всё упиралось в слепую веру в документацию.
Сдесь
http://docwiki.embarcadero.com/RADStudio/XE5/en/Operator_Overloading_%28Delphi%29
чётко сказано, что все логические операции (=, <>) должны возвращать Boolean. Только недели три назад я удосужился проверить, что компилятор более лоялен. Но у Embarcadero остаётся полное моральное право изменить поведение компилятора согласно документации. Для нас это означает, что в больших проектах, которые планируются партироваться на ещё не существующие версии Delphi, необходимо предусмотреть способ отказаться от такого изврата. Но тут же начальство можно успокоить:
1) Я уверен, что этот подход (кстати, он прокатывает и на C#, только смысла в нём там меньше) заиспотьзуют большенство ORM-ов. Embarcadero придётся поддержать существующее поведение компилятора в будущем.
2) Если что-то пойдёт не так, возьмём наш парсер Паскаля и заменим "=, <>" на вызовы обычных функций. Будет не так красиво смотрться, но работать будет.