I had a similar thing with a 2nd hand OBC for my E34. Whe it was cold, say for the first 10 miles, it would read ok, then the reading would creep up and finally reads 99.9 mpg, range 400+ miles. It (the OBC) seems to loose the sense of the fuel being used (from the fuel injection computer) so when it registers only a small amount of fuel over large number of miles the calculation of MPG comes up with the max. displayable value of 99.9
I hoped it was just a bad connection on the multi-plug (worth a check) but no such luck so I’ve had to bin the unit and buy another (the joys of second hand stuff) the replacement works just fine and reads about 25mpg (which is what I reckoned before I got the OBC

)
If anyone has an answer I’ll try and fix the other one and give it to my brother as his doesn’t have one fitted to his cars either!
Hope your problem is less drastic but thought I'd share my experience.