My experience (SL6000L, Sharp ROM) has been that most programs won't install to SD or CF, and only work properly when installed to internal flash. So you're probably not doing anything wrong - that's just the way it is. Internal, hard-coded stuff with the OS, eh.
But if you've installed programs like dictionaries, Bible readers, Gutenbooks and the like, you can probably install their data directories to SD or CF, which could account for substantial space savings on internal flash.