I realised after sending this at something past midnight that i'd been here before. It's caused by tempo changes. The fade restarts at every tempo change. It's a known and acknowledged bug. Quite disconcerting in a project with lots of tempo changes.
Just for fun, try it. Open a new project, import a fragment of wav file, insert a tempo change halfway along, then add a fade in. You should get a fake fade at the tempo change.