Nein, nicht wirklich. Zugriffe auf bereits freigegebene Objekte können eine Zeit lang weiterhing funktionieren (wenn auch ggf. Unsinn anstellen), solange deren Speicher nicht anderweitig benutzt wurde.
Und selbst wenn nicht, muss ja nicht immer ein ungültiger Self-Pointer sein, der einen
Exception auslöst, sondern es kann eine im Objekt verwendete andere Objektreferenz sein, die inzwischen überschrieben wurde oder ein Pointer auf einen String oder auf ein Array.
Je nachdem, wen man fragt, wird FreeAndNil empfohlen oder davon abgeraten. Zumindest sorgt es in den einfachen Fällen (also: Es gibt nur eine Referenz auf das Objekt) dafür, dass es keine Pointer auf freigegebene Objekte übrigbleiben.