I will assume that "machine readable" means that you want a computer to be able to scan/photograph the text and read it with a high degree of accuracy and furthermore the information should be able to be passed around in text form between a wide variety of computer systems with minimal risk of mangling.
SAMPA limits itself to ASCII. Pretty much all computer systems can process ascii characters unmolested.
If you want to print and scan it reliably there are specific fonts designed for the purpose of printing and scanning ASCII characters though there can be some compatibility issues on some of the weirder symbols.
At the time SAMPA was created computer text handling was still pretty limited. Typically computers handled ASCII plus a set of up to 128 local characters and/or symbols. Support for larger character sets did exist but it was mostly limited to CJK languages. Passing IPA around in this environment would have been very difficult.
In the modern world it is reasonable to pass IPA text in unicode around on computers but it still carries a higher risk of mangling than ASCII text does.
And as for printing and scanning IPA has a large character set where some characters are scaled or inverted versions of others and on top of that makes heavy use of diacritics. I would expect this to make reliable OCR very difficult.