Ich würde dir empfehlen bei der Einrückung das begin und end auf die gleiche Stufe wie das zugehörige if zu stellen.
Hast du denn schon mal den Debugger angeschmissen und geschaut, wo es langgeht?
Beispiel für die Einrückung:
Delphi-Quellcode:
if a=b then
begin
if a=c then
begin
SHowMessage('Blub1');
end
else
SHowMessage('Blub2');
end;
nur als kleiner Tipp