Thank you Marko,
this is a issue of great concern for me. I found this problem twice in two different systems, the only equal thing was a lot of power faults. I don't have the mysql log because, to back online as soon as possibile, the entire system was reinstalled and all mysql installation was deleted. I remember only something like this:
InnoDB: The log sequence numbers xxxx and xxxx in ibdata files do not match the log sequence number xxxx in the ib_logfiles!
But seems to be quite usual for after a bad shutdown.
The worrying thing for me is that there were nothing as "error" in the logs and the server booted up correctly, users could understand that something was lost only by they own because thay did not find the previus days data! As I said, I find normal to lose last transactions after a power fault, but not some days of records!
I really don't know exactly how innodb works. What happends if the engine could not flush data from ib_logfile0 to frm data files and the ib_logfile0 file is filled? I tried to delete ib_logfile0 and ib_logfile1 and innodb starts with only frm/idb data and losts all data in ib_logfile0 file.
Maybe it is what happends to me? For undefined reasons the log file could not flush for many days and when it was filled the server backs to frm file data. This may explain why in the -1day backup I found all records until that day (mysqldump read unflushed data from log file) and on the disaster day I lost last 2-3 days (database was restore from frm files). This is just a guess.
For now I could not repeat the same scenario in test enviroment, I tryed to simulate many power faults but without the same rollback. In the production systems now I log the innodb status with "show engine innodb status" at every startup and every shutdown. With this I hope to get some more informations If this issue will happend again.
I will surely post again if I will find other informations from test enviroment.
Thank you again.
Tobia