Sehe ich nicht so, FreeAndNil sollte man nur dann nutzen, wenn man auch an irgendeiner anderen Stelle auf Assigned prüft. Genau solche Aussagen führen dazu, dass plötzlich überall FreeAndNil gemacht wird, anstatt Free aufzurufen.
Und FreeAndNil bringt nichts wenn eine andere Variable auch auf das Objekt verweist. Dann ist zwar A nil aber B nicht.