There is periodic garbage collection to remove the deleted messages.
If you have 1000's of messages, and that you removed 100's scattered all over, the compression can indeed take some very long time. It's made worst if your drive is heavily fragmented and clogged with tons of junk files like temporary files and bursting trash.
On my rather old computer, this operation usualy takes only a few minutes.
First: Do some cleanup on your drive. You can use the disk cleanup utility: Rightclick the drive, sellect "Properties" and click the cleanup button.
Search for any "tmp" and "temp" folders. Delete any files older than 4 days found in those.
Second: Launch a defragmentation. It's on the "Tools" tab.
Close the properties. Let the defragmentation finish it's job. It can take a LONG time on a large drive that was never defragmented.
Finaly, launch Thunderbird and let it finish the compression job. You may want to temporarily disable folder compresstion.
Take the older messages and archive them. Sellect some old e-mails, right click and sellect "Archive"
They will get migrated to the "Archive" folder in subfolders based on the reception year.
Relatively new feature introduced with Thunderbird version 3.
This will reduce the size of your inbox, making it's treatment much faster.
Sellect Tools|Options in the menu.
Advanced section.
Network and disk space tab.
Clear the cache.
Change the compaction thressold down under 300Kb
That way, the compaction will append more frequently, but will have a LOT less work to do.
Electro, May 2011