There's a new firmware for the SG300 and SG500 series switches but no release note that I can find to see what bugs may have been corrected. I'm really hoping they took care of the problem where expired dhcp leases aren't reused when the pool is used up and MAC vs client ID bug where you first have to know how the client requests before being able make static bind. If you enter its MAC the switch should still be able to assign the proper address even if it receives a client id. Just strip off the lead byte and check the MAC table or just check both table.
I have this problem too.