StreetPro tables do not contain Post Office boxes. When your database contains Post Office boxes, you will not be able to geocode them to a StreetPro table. You have to geocode these records in a different way.
For example, if you know that a table contains many addresses with Post Office boxes, you could first select all the rows containing Post Office boxes and geocode those rows to postal code. Then you can geocode the remaining records to street address.
To find all the addresses containing Post Office Box numbers you need to have some way of identifying them. One plausible indicator is the word "box". Use MapInfo Pro's InString$ function to select all records containing the substring " Box ". Note the spaces on either side of "box". By telling MapInfo Pro that we want those spaces, we make sure we will not include, for example, addresses on Boxwood Street. Using either Select or SQL Select, you want all records which meet this test:
InString$(1,ADDRESS," BOX ")>0
The number "1" tells MapInfo Pro to search address entries starting with the first character. "ADDRESS" is the column containing the street address. " BOX " is the substring MapInfo Pro is searching for. When MapInfo Pro finds " BOX " in an address, it returns a number indicating the position of the first character of " BOX " in the address. It follows that, for any record where the value of Instring$ is greater than zero, that address contains " Box ".
You can now geocode this Selection to postal code. That will take care of those records. Then you can geocode the whole database to addresses. Since those with Post Office boxes have already been geocoded, MapInfo Pro will skip over them.