Потому что у вас переменной Result не присвоено значение перед использованием в качестве операнда. А потому ее содержимое имеет право на любой случайный мусор.
ну, вообще там где встретил функция была посложнее ^_^ Просто не инициировал Result для строк - всегда пользуюсь {H+} поэтому как-то привык, что строка всегда пустая. А тут совпало - и код без {$H+} выполнялся, и Result был не инициализирован - и глаза на лоб полезли ^_^ Умом понимаю, что не баг и все правильно, но все-равно неожиданно ^_^
Ну я как то привык еще с Прототипа. в Borland Pascal начиная с 6.0, imho, уже было заявлено, что содержимое неинициализированных переменных любого типа может быть случайным.