SCAR Code:
function StopBurning: Boolean;
var
X, Y: Integer;
I: Byte;
begin
Result := False;
if not LoggedIn then exit;
for i := 0 to 5 do
begin
case i of
0: Result := TimeFromClickingLog > 15000;
1: Result := FindBlackChatMessage('he fire');
2: Result := FindBlackChatMessage('ou can');
3: Result := FindText(x, y, 'Congratulation', NPCChars, MCX1, MCY1, MCX2, MCY2);
4: Result := (FindColor(x, y, 65280, 230, 130, 280, 180) or
FindColor(x, y, 255, 230, 130, 280, 180)); // InFight from Fighting.scar
5: Result := FindNormalRandoms;
end;
if Result then exit;
end;
end;
You should always try to declare your variables locally, within procedues or functions. That way, they'll be freed once SCAR exits out of the procedure/function. 
Edit: I assume that TimeFromClickingLog is a global integer?