Ah, why wait

. I had a sudden theory, decided to test. And yes, my hunch was confirmed: just loading win markets, it's fine. It's a side markets issue.
So it is a bug, although quite if it's MFP mishandling data or simply the way it orders the from the API, it's a problem with adding side markets.
In
some scenarios I think MFP is over-writing the market_length value from the Win market, with the market_length from the side market (e.g. Place, AvB at the very least), which of course is 0 because BF doesn't list that info for anything else than win market. My guess is that if the race's Win market get loaded last, the value will be present even with the side market.
With market_length now null, as I noted in the OP, of course market_duration has to be null too because that's drawn from market_length.
So I think MFP needs to implement a fix for ensuring that markets don't impact the data of other markets.
