The amount of free space reported by a hdd directory is anything but true. However, I never had a problem with "disk is full" errors. Which program do you use to copy files ?
Maybe you have a problem with signed 32 bit numbers. Almost any programming language on the Amiga uses 32 bit numbers. And if the programmer was so stupid to calculate the free space in bytes, it would easily bust a 32 bit integer if it is more than 4GB (unsigned) or 2GB (signed).
So with 28 GB of free space, calculated in bytes in a 32 bit integer, you'll result in just above 2GB which on a signed integer is *negative*.
As a circumvention you might create a 2GB HDF on this partition (or any other file with 2GB in size). If the problem arises again, delete the HDF. The next time create it again and so on, until the HDD is really full with less than 2GB free.
Bye,
Thomas