I ran into these problems before I think. It would be very helpful, especially when debugging ssh issues, to turn on the debug flag of ssh. You can run your command like this:
ssh -p 2222 -vvvv root@localhost
For your particular issue, I think the problem is that your sshd is still keeping the idle ssh port forwarding session alive. As a result, when ISOBlue still tries to port forward, it will see port 2222 is already being used. To test this, you can try supplying a different port number to see if the problem goes away. If this is the case, it would be better to edit your sshd_config file under /etc/ssh/ on your desktop.
Look for the property ClientAliveInterval and change it to some smaller value like 1. This will kill the idle ssh session pretty much right after it is in idle.
Let me know if that solves the problem.