Variante 1 auf jeden Fall nicht, und Variante 2 + 3 sind identisch (also 3, weil einfacher). Wobei ich anmerken muss, dass isset nie mit „internen“ Variablen verwenden darf (nur mit Userinput), da man sonst Probleme mit register_globals bekommt.
Das wäre aber nur zum Testen, ob eine Variable gesetzt und true ist. Zum bloßen Testen, ob eine Variable gesetzt ist, ist isset vorzuziehen. In der frühen phpBB3-Beta wurde auch empty benutzt, was dazu führte, dass, wenn man als Titel „0“ eingegeben hat, keiner angezeigt wurde.