Also der Rückgabetyp meiner Funktion ist Ansistring. Das man das @ als Char übergeben kann ist ja dann eigentlich das selbe (denke ich zumindest).

Genauer gesagt, muss es wohl explizit Ansichar sein; das war zumindest bei mir damals das Problem:
funktionierte mit Delphi 7 problemlos, mit Delphi >= 2009 aber nicht mehr, da dort wohl ein Unicodezeichen übergeben wird. Da muss dann ein AnsiChar('@') hin.