I have not moved on, even though I haven't had time to work on LittleFM for a long time now. But I have thought about the exact thing you mentioned. The technical issues are as follows:
1) Accessing the flash from the GB side. Some of these carts don't have the /wr pin hooked up as catskull alluded to. But many do actually have it available, but with scrambled address bits, so A0 and A1 might be swapped for example. This is absolutely no problem to add support for though. Worst case, you'd need to do a small solder mod to connect the /wr pin, which is something that the carts often add the facility to do, because...
2) Some carts being sold actually don't have a battery. Instead, they modify the ROM so that it writes SRAM to flash when saving, and then restores it when the game is started again. This works ok enough for games, except that you get a one second or so delay after saving the game. But these particular cartridges are problematic for LSDj use since they won't retain SRAM contents on power-down.
3) Some carts come with 3.3 V or even 1.8 V flash operated at the Gameboy's 5 V, which is a gross voltage overload. In practice, it often works ok for a $5 product (if you're willing to risk that the cartridge might stop working at any time) as long as you're only READING from the flash. On writing, the flash chip will error out because of the overvoltage. This can often be solved by putting a diode in series with the supply to drop the supply voltage a little, again with the caveat that the cart could stop working at any time. So this might, again, require a hardware modification of the cart.
4) Flash chips are by their nature sector devices. You can write to a certain byte once, but you can't write to the same byte again unless you erase a bigger area called a sector, which are often 32-128 kB big on the devices in question. LittleFM was really a quick hack which took the path of least resistance and saved data corresponding to 1-2 sectors at once. If the sectors are 128 kB big, you might choose to either waste the remaining 96 kB, or do something more tricky like saving multiple copies of the same song, or saving different songs in the same sector and defragmenting the file system every now and then or something like that.
One solution that solves both 2 and 4 simultaneously, would be to implement support for something like a file system that saves every modification to the song to flash sequentially, as an address being changed and what byte was written. This would work very well, except that it would require a lot of modifications to LSDj. At that point I might as well write my own GB tracker. While that's actually a tempting idea, it would take a LOT of work.