I know what issue you're talking about.
Just add this code at the beginning of your profile. When you're in town and the profile gets reloaded it will just take the TP.
<If condition="Me.IsInTown and ActorExistsAt(191492, Me.Position.X, Me.Position.Y, Me.Position.Z, 50)">
<TakeTownPortal...