Функция форматирования присутствует с дней Турбо Паскаля, а функции SysUtils Hex недоступны.
Так что для любой версии Delphi до D2010 используйте команду форматирования:
lByteAsHex := format('%.2x',[AByte]);
Спецификатор точности .2 гарантирует, что всегда есть начальные нули.
Следующая строка:
lIntAsHex = format('%x',[AInt]);
обрабатывает целое число любого размера (включая int64), но не ставит начальные нули, поэтому
format(%x,[10])
вернет 'A', тогда как format('%.2x',[10]
вернет '0A'