Many people have that kind of problem and I have the same one. moving apps to SD card just delays a bit the problem because something else fills up the internal storage. I finally figured out and it works great. I have a Galaxy Tab 7 but many android devices will experience that. There are 2 important folders. The one called /data is actually not really just data but it is where Android install the application apk and some of the data related to it. If you force the apk to install on SD card, it will still use some of the /data space (small amount) for some data.
the problem I discovered is in /data/tombstone, you will find 10 files named tombstone_0#. These are debugging info collected by android. These files build up over time. You don't need that for a normal user. Delete all of them. These 4 files were using 1.4GB of my 1.89GB internal tablet storage.
To do so, you will need to root your device. Yes, you must. And it won't explode don't worry, I've done it and many others too! Then get a program like "Root Explorer" to browse and delete the junk. It will request and be granted root privilege if you rooted your device before and you will be able to do whatever you want.
To root your device, just google "root android my device model" and you should find quickly how to root your device.
This problem is a design flaw. When there is a low internal storage, Android should start a background task to clean up that junk.