Ok, this is the story:
I created an FTP account on my shared hosting account for Jon with username jon to folderA, and it generates a file .ftpquota under folderA. Right now the diskspace is correct, it shows Jon has used 0 MB.
Jon uploads 2 files to his account, both are 10 MB. At this time the diskspace shows correctly, it shows on cPanel that Jon has used 20 MB disk space.
Now Jon deletes 1 file by himself. At this time the diskspace shows STILL correctly, it shows on cPanel that Jon has used 10 MB disk space (after the file deleted).
Now look, I log into my FTP as administrator, I mean I am manipulating files on Jon's folder (actually a subfolder 'folderA' under my root) but without using Jon's FTP account, I delete the last file (10 MB) there. By this time there should be no more files in the folder since all files have been deleted, and the diskspace should be 0 MB used, but cPanel still shows Jon has used 10MB of diskspace.
If you delete Jon's file on cPanel File Manager, you get the same result, whatever you do to Jon's folder will not reflect to the diskspace usage of Jon's FTP account.
The only way to make Jon's diskspace usage go to 0 now is to delete .ftpquota, it will be generated again when next time Jon logs into his FTP account.
Now look, another funny thing:
Jon now is trying to upload a file with (again) 10MB, the network suddenly broken when 7MB is uploaded, so Jon has to re-connect and re-upload, after the file is successfully uploaded, you will see on cPanel, it shows that Jon has used 17MB of diskspace.
Please tell me if it's just my problem or everyone is facing the same thing.