Good answer, Michael, but I'll amplify it a bit.
catgotwebhost, are you sure your resellers are set up as resellers and not as administrators? The Reseller login only allows resellers to free, share, or assign IP#s that belong to them.
I've just tested, and a reseller cannot free up a reseller that's already assigned to a user; the error is Ip's can only be freed if there are zero users on that ip.
The reseller can only assign IP#s to new or existing users if they're either free and assigned to the reseller, or (reseller-specific or serverwide) shared IP#s.
If your resellers can do more than that then you need to find out why. Michael is on the right track, but it's not really a user permissions problem; rather it's a problem in the files that DirectAdmin uses to know who is assigned which IP#.
For example, the list of IP#s assigned to a specific reseller can be found at /usr/local/directadmin/data/users/RESELLERNAME/ip.list.
The specific IP# assigned to a user are in /usr/local/directadmin/data/users/USERNAME/user.conf.
Additionally, information for each IP#, including whether it's shared or owned, can be found in: /usr/local/directadmin/data/admin/ips.
Jeff