Cuidado con ese código, no es standard (lo digo por otro hilo que habla de stardares

)
el TOracleDataset.Create está dentro del bloque try, esto quiere decir que si se produce una excepción al tiempo de crear ese objeto, irá al bloque except, e intentará liberar un objeto que aún no se ha creado. Además no se usa FreeAndNil en el except, así que de nada nos servirá Assigned.
Código propuesto:
Código Delphi
[-]
procedure TFrmInterfaz.PageControlChange(Sender: TObject);
begin
if PageControl.ActivePage <> TabSheet3 then
begin
if Assigned(InterfEntrada) then
begin
DS.DataSet := nil;
FreeAndNil(InterfEntrada);
end;
end
else
begin
InterfEntrada := TOracleDataset.Create (nil);
try
InterfEntrada.Session := DMServidores.OSession;
except
freeandnil(InterfEntrada);
end;
end;
end;