По-моему дело вот в чём:
Код:
function TFillCombo.fill(Val:TStringList):TStringList;
здесь два TStringList-а, один - Result, другой - параметр Val (который кстати в функции никак не используется)
в функции fill ты заполняешь Result
а потом пытаешься получить эти строки из Val