Determining beats is not a very exact science, although software gets it right more than it gets it wrong. One of the things most software has is a range setting, telling it that it should not report BPM under a certain treshold, nor over a certain treshold. Default is usually something like 70-149 for example. I believe this is done to force the software to at least translate a measured bpm to something within the range specified. Clearly there is a lot of uptempo stuff (say 150+) that now gets reported as being 75+, a situation you can remedy manually. Also something that it would see as 40 would be displayed as 80 if the software decides that the measured value of 40, being outside the scope, must be -most likely- double that. In this case 80. Showing a 40 bpm when that is not within the range set is odd, as is it switching to something almost 3 times as high.
Could you let us know a few tracks this happens with? Is it only with MP3, certain level MP3, WAV, other formats?