Sin entrar en si tu función es correcta o no, e indicando que lo único que necesitas es convertir la función JScript en Delphi, żpor que no pruebas esto?...
Código Delphi
[-]
procedure miEncode(str, fld, fld2: integer);
var
a,b: integer;
begin
a:= 1846;
b:= 1835;
str := ((a-b)*((str-a) XOR (str-b)) shr a) shl b;
if ( (str = 1737089024) AND (fld=5 ) AND (fld2=33) ) then
ShowMessage('Perfecto')
else
ShowMessage('Que lástima por tí');
end;
Espero que te sirva o si no háznoslo saber