I have refined the problem:
If "Unidirectional" is checked *the filter wheel will NEVER move forward 6 steps*. e.g. G ->R does not work and B->G does not work and O3 -> Ha does not work etc. So it isn't just L -> S2 which doesn't work,
*** Any filter change which requires six steps fails ***
*** Every time you ask the filter wheel to move forward SIX steps it ends up at L instead of the filter you want! ***
Why does the filter wheel hate six??
Looks like a coding error to me. Please, please try it for yourself and then look into the code.