Although it is unlikely, you might not be waiting enough time for the magic tab to appear. So you might want to call something like this:
Simba Code:
procedure Tele;
var
t: Integer;
begin
Writeln('Teleporting!');
GameTab(tab_Magic);
MarkTime(t);
Repeat
Wait(200 + Random(50));
if FindDTM(Home, x, y, MIX1, MIY1, MIX2, MIY2) then
Mouse(x, y, 3, 3, True);
Until(TimeFromMark(t) > 3000)
Wait(1900 + Random(25));
end;
In this procedure now, it will keep trying to find the DTM for 3 seconds. If it can't find it, then it will stop.
MarkTime(t) get the time at that position,
TimeFromMark(t) shows how much time has passed since then in milliseconds.