Rule responding to command gets old value

Does your rule need to know the actual .state (perhaps after it has been returned by some external device or service)? you could trigger on changed or received update
Or does your rule need to know the command that was sent, i.e. use receivedCommand instead of state?

I don’t believe this is is a bug, just a misunderstanding that sending a command to an Item may not instantly (or indeed ever) change its state.