Well, when it's cleaing, if I press stop (on Indigo) it does nothing, and continue cleaning.
I tried by http commands to test and effectively when it's cleaning or spotting you can only send another CLEAN command to stop it. Any other commands are ignored. When it's stopped, then you can send the DOCK command.
It's not because the board is busy because my test I make it with a terminal command (curl http…) and nothing else enabled (before I added your plugin too).
And the Wifi is working well, I'm sure

Well I can use debug if you need.
No stress

Thanks
EDIT:
When I manually press "DOCK" button on my roomba (assuming it need time to go to the base station), your plugin says :
RooWIFI Roomba: changed state to clean
When Roomba arrive :
RooWIFI Roomba: changed state to stop
RooWIFI Roomba: changed state to dock