Я вообще-то в первом посте этой темы просто стебался
Задачей FreeAndNil является разрыв возможных кольцевых ссылок в сложных иерархиях объектов и предотвращение повторных вызовов деструктора одного и того же объекта. Чтобы, если не наследуешься от TComponent, не приходилось городить механизм, аналогичный "csDestroying in ComponentState" и TComponent.Notification.
FreeThenNil ничего подобного не делает, и весь ее смысл - в экономии одной строки кода.
Предъяв по совместимости не было как раз из-за наличия этой самой совместимости.