OK, so the bottom line is _to_ui appears to work in all known cases?
Yes that always worked. Including the =wheel_right() and =wheel_left() in your test build.
Which build you run shouldn't affect the various =post_levent_... tests, those go directly to the firmware (unless there's some other bug elsewhere, but it's pretty simple)
I was seeing inconclusive behaviour. You'll love this...
Using the test build (actually tried) - or any of the builds I used (I guess)
Sequence A
#1 > =post_levent_for_npt("RotateJogDialRight",1)
#2 > =post_levent_for_npt("RotateJogDialRight",2)
#3 > =post_levent_to_ui("RotateJogDialRight",1)
#4 > =post_levent_to_ui("RotateJogDialRight",2)
#1 and #2 fail. #3 and #4 work and are interchangeable
Sequence B
#1 > =post_levent_to_ui("RotateJogDialRight",1)
#2 > =post_levent_to_ui("RotateJogDialRight",2)
#3 > =post_levent_for_npt("RotateJogDialRight",1)
#4 > =post_levent_for_npt("RotateJogDialRight",2)
#1 #2 #3 and #4 work. one of #1 and #2 can be omitted.
So, for post_levent_for_npt to work it needs one previous post_levent_to_ui. 1 or 2 make no difference.
That is as close as I can take you to what should be some sort of bug.