Since the file compiles when you use \pdfmapfile, the map file fragment and the fonts themselves are being found correctly by pdfTeX. The problem lies rather with the updating of the mappings pdfTeX uses to match font names to font files.
[But note that it would be better to use + rather than = to supplement the existing mappings rather than overriding all of them.]
The problem can be caused if either the map file fragment was not correctly added to the file pdftex uses or if a stale configuration is overriding the updated configuration.
In the first case, it is a matter of enabling the map file fragment using updmap or updmap-sys with --enable mtpro2.map.
Assuming this has been done correctly, if the problem persists it is probably due to a stale configuration file in your home directory. Removing this file should resolve the problem in this case.
To do this for TeX Live, remove ${HOME}/.texliveYYYY where ${HOME} is your home directory and .texliveYYYY is the subdirectory corresponding to the release of TeX Live you are using. For example .texlive2013 for the current version. On Linux or OS X, you could do this by running rm -r ~/.texlive2013. Removing this directory is generally safe because it should only hold files which can be easily regenerated. However, to be 100% safe, you could just rename the directory to see if it solves the problem and remove it later if everything works. On Linux or OS X, you could do something like mv ~/.texlive2013 ~/texlive2013.justincase.
By way of explanation, this problem can be caused if you use updmap rather than updmap-sys to configure font map files. The problem is that if you later use updmap-sys - or if tlmgr uses it when you update your installation - the now stale configuration in your home directory continues to override the newer settings installed system wide. This is why it is generally better to use updmap-sys rather than updmap unless you are working on a system where you do not have the permission to do so.
pdftexonly issues a warning (you find it in the log file) if it's not able to find the requested map file. – egreg Jan 21 '14 at 17:00pdftexuses. Did you useupdmaporupdmap-systo--enable mtpro2.map? If you usedupdmap-sys, you may have a stale configuration file in your home directory. Removing~/.texliveYYYYmay solve this problem if you are using TeX Live YYYY. I don't know what the equivalent is for MiKTeX. If it works with the addition of the map file (but it is better to use+than=), then the files themselves are found - only the update topdftex's map file is wanting. – cfr Jan 22 '14 at 00:39~/.texmf-varand~/.texliveYYYYthe file now compiles without including the\pdfmapfilecommand. If you add it as an answer I can accept. :) Thanks all. – James Fennell Jan 26 '14 at 16:56