Sorry, but that's not true. An int is an int. Midi doesn't understand what Strings, or hex, or decimal are. It understands binary, just like all computers.
This format
#define OPCODE 0xB0 // midi CC operation code
#define CTRL01 0x48 // controller number code
is for your benefit. The compiler turns them into binary, just as it would regardless of how you define them in the source code.
Change this line
Serial.print(hexMessage); // code for the new value to send
to
Serial.write(message); // code for the new value to send
and see if it makes a difference.