Hi Javier,
First I would separate your problem into two different event, one is the client constantly disconnecting even when the client is not "roaming" and two, client stop working after a roam.
For the first issue, it's kind of hard to say if the client is truly not roaming, even stationary client can "roam" between APs under the correct, or better description is under the wrong condition. You should be able to review the controller log to see if the client is truly changing APs or not. If it is not "roaming" and you are still "disconnecting", please verify if the client is still associated but just can not pass traffic. I have seen a few case where this was the case where client's seem to loose IP connectivity for a while and was still associated to the AP. If this is the case 9.12MR2, which should be released soon, should fix that.
For the second issue, Bill is probably correct, it's either a sticky client issue and the client is stuck on an inappropriate AP. The only thing that I would suggest that is different is not to use Smartroam if you have Apple OS or iOS, as they have an automatic blacklist feature where too many kick via smartroam will trigger this feature and keep the client from connecting to the wlan again for sometime. Depending on the AP density, I would use a higher BSS minrate to ensure that the client can not hear an AP's beacon when it's too far away, this way it will be the client decision to roam if it can't hear the AP's beacon at 12 Mbps for example. You can use BSS min rate and Smartroam at the same time but it's generally not needed.
Without any more data to go on, I would suggest two things:
1. upgrade to 9.12MR2 as soon at it comes out
2. set the wlan BSS min rate to 12
Force DHCP should should not be needed/used, it was originally designed to keep people from statically configuring a client with the same IP as the Gateway or the controller causing network issue, it was not designed to help a client roam.
Sid