Every once in a while, it's the other way around, I have to press a grid button before the arrow pads start sending.

And here I was too thinking I was doing something wrong to cause this in my LP.

Only two keys are ambiguous without a status byte: both have 0x68 as the first
data byte

It really annoys me that they have CC 0x68 and note 0x68, if it wasn't for that you could ignore the message type for whatever you do.

When I got my LP I wrote a python extension and class that uses
it directly via libusb, without going via ALSA, and it  solves
the problem, except if the first event has data byte 0x68.

So f I understand it correctly then the only problem remaining with this is the two 0x68 keys not working until you press another key? Do you think we could add a similar solution into the ALSA driver?