Micro:bit multiple "serial on data recieved" don't work properly (only the last one works)

Yes, I think you’re right. Looking at the code, each handler block overwrites the same delimiter string, and the same pointer to the event’s handler.

It’s the same for Bluetooth UART: https://forum.makecode.com/t/bluetooth-uart-command-to-move-servo-only-work-in-one-direction/29202

https://github.com/microbit-foundation/codal-core/blob/master/source/driver-models/Serial.cpp#L932