My expertise is with Microsoft SQL Server, not MySQL, but professional database products generally don't give back disk space that they aren't using any more, even after rebooting, unless you specifically tell them to. The reasoning is that you'll probably want to store more data later, and releasing and reclaiming disk space will lead to fragmentation of the database, as it uses whatever disk space was available at the time it was needed. So instead, the space is held onto.
I found one apparent description of how to make MySQL release disk space but it sounds rather radical. Look at
http://forums.mysql.com/read.php?35,...886#msg-121886
and see whether it makes sense to you. If not, I suppose you should keep looking for more. But I do expect it doesn't just happen, you need to force it.
In Microsoft SQL Server, each "database" (or "catalog") has its own data files (with many tables in one file), so you can design your application to release disk space just by putting data in a separately created database and then dropping the database after use. The free space on the disk probably still contains the data, but if that's a problem (for confidentiality) then it's a separate one. MS also has separate commands to reorganise and release disk space in each database's files.