Todo apunta a que el moldeado de datos no tiene éxito ya que la función IntToHex expera únicamente un entero y el número de digitos que devolverá en la conversión.
Prueba a hacer la conversión antes de pasarle el valor.
Esto funciona sin problemas:
Código Delphi
[-]
Function LoQueSea(n:Integer):String;
begin
result := 'varSingle ' + IntToHex(n, 8);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(LoQueSea(256));
end;
Un Saludo.