So direkte fehler sehe ich jetzt nicht, jedoch solltest du Result zuerst einen Default-Wert zuweisen:
Delphi-Quellcode:
function FindChannelWindow(channel: string; server: Tserverform): Tmsgform;
var
i: Integer;
begin
Result:=nil;
for i := 0 to Application.ComponentCount-1 do
if Application.Components[i] is Tmsgform then
if (Tmsgform(Application.Components[i]).channel = channel) and (Tmsgform(Application.Components[i]).Server = server) then
Result:=Tmsgform(Application.Components[i]);
end;