My patch disconnected all idle clients (clients that had not been sent any data for a while). As you've found, that's not the best of solutions. Instead, the code should detect write timeouts. Luckily, MINA appears to offer that functionality.
I've modified the patch to detect write-timeouts. I haven't been able to test this yet, but could one of you give it a try?
The patch can be found in JIRA issue OF-70.