The point is, the LXI H, is never executed it is there simply to trip up the disassembler. It looks like the start of a code block because it follows a RET but it is not really an entry point.
Of course if you wish to deliberately get a disassembler out of sync any instruction which takes an operand placed before a block of code will do it.
However it will only consistently confuse simple disassemblers - more sophisticated ones which aim to build a list of entry points by scanning for jumps and calls will be harder to trick with this technique.
As I said the BDOS code and a similar block is not intended to confuse disassemblers (though it might do so) - it is there to turn a block of
ep1: ld r, const1
jr next_step
ep2: ld r, const2
jr next_step
ep3: ld r, const3
jr next_step
...
next_step:
into
ep1: ld r, const1
db 0x21 ; fall through eating the 8 bit load immediately following - r should not be H or L, obviously
ep2: ld r, const2
db 0x21 ; fall through
ep3: ld r, const3
db 0x21 ; fall through
...
next_step:
It saves a byte per entry point and is primarily about code density over execution speed (and clarity, until you recognise the trick).