Look in table usr02 and check the value for uflag. Is it 32, 64, 96, 128... ? If you use a custom su01 and it is not a standard value (i.e. it is between 1 and 31due to some bugs) you might not be able to unlock the user with the custom Transaction.

If it is an SAP standard user there might be other parameters AS poster above.

Also check that the user doing the unlock has the right authorisations to change users in that user group.

User can also be locked in SAP from Operating system or DB. These locks generally carry a UFLAG value of 99.
If you try to unlock this user in SAP, the user will still be locked. Uflag value would be 35 (99 OS lock - 64 SAP unlock. Attempts a second time are usually successful to unlock user (35 - 64 = uflag 0)