This is a tricky one, it looks like there are a couple things going on.
First, TextAloud 2 internally converts words that are all uppercase to lowercase. We did this because it helped some voices with words being mispronounced, but we have completely avoided this kind of thing in TA3. Our approach in TA3 is to see where these kinds of problems come up, and handle with voice and/or vendor specific dictionary fixes.
So TextAloud 2 actually translates "MR." to "mr." before sending text to the speech engine. TextAloud 3 does not perform the translation.
In an AT&T dictionary, I defined phoneme translations for "MR" and "mr" ... my results were as follows:
1. Text MR matches AT&T entry for mr
2. Text mr matches AT&T entry for mr
3. Text Mr matches AT&T entry for MR
4. Text MR matches AT&T entry for MR
5. Text mr matches AT&T entry for mr
6. Text Mr matches AT&T entry for MR
So (1) and (2) mean that the text MR is treated the same as mr, because of the TA2 upper to lower case conversion.
(3) and (6) don't seem to make sense, but that is how the match in AT&T seems to be working. In both cases the text "Mr" is matching the entry I created for "MR".
So in your example where TA3 pronounces Mr. as M R, it seems like you're seeing the same mixed case match I'm seeing in cases (3) and (6).
Does that help at all ?