You could try this code. It is even slightly faster than your assembler code if you activate the compiler's code optimization.
Delphi-Quellcode:
procedure ByteToHex(const AValue: Byte; Buffer: PAnsiChar);
const
HexChars: array[0..15] of AnsiChar = '0123456789ABCDEF';
begin
Buffer[0] := HexChars[AValue shr 4];
Buffer[1] := HexChars[AValue and $F];
end;