First, a word about my BOM and stripBOM procedures.
They were included by me as an example of how a call to hexify() looks like,
but they are not appropriate to your problem.
They are intended for use only to preprocess a file coming from Excel with
two specific hex bytes in front.
Remove them.
Second, about the wierdness when you pass 7F ...
This is probably about UTF-8 encoding, which is the default on the Bluetooth client.
Google
UTF-8 for explanation as how and why it works.
Your receiving device (unavailable to me) is probably set differently in its encoding strategy.
ABG