I have commented on this many times in the Bahrain forums.
To put it as simply as I can:
You can apply for a Saudi work visa from your country of citizenship or your country of residence IF, the following conditions are satisfied (for country of residence):
1) Your employer (the Saudi one) has to have a work visa allocated to the consulate of the country of your residence, for your nationality. And this is usually the biggest roadblock. Because when a Saudi employer gets a quota of visas, which is by nationality, they allocate it to consulates e.g. american profession x to the US, India profession x to India etc, which makes sense as most of the hiring from abroad is from the country of origin...............they can choose to allocate to your nationality in Bahrain but only if they have a quota waiting to be allocated (I believe unallocated visas expire which is why they can't wait around to see if someone will come from a different country). Fresh quotas take a while to come through and is linked to many variables e.g. Saudisation, utilization of existing visas etc. I got my work visa from Bahrain but I started working for them and when the new quota came 6 months later, they got one for me............nowadays it is very risky to do that with labor inspections
2) Your current employer in Bahrain MUST give an NOC for the work visa. Non negotiable by Saudi consulate. And if you are on a self sponsorship or Golden visa without an employer (or in other words, if you don't have an LMRA issued work or investor work permit), you HAVE to go back to your home country - this is the rule applied by Saudi consulate in Bahrain since years now
A criminal background check is also a MUST (depending on where you apply from) - it must be dated within 3 or 6 months (I forget which) from the date of your application for the work visa. By the way, this is standard all over the world. It doesn't matter if you have gone through a background check - what matters is "HOW RECENTLY". Criminal background checks older than 6 months are useless as no country will consider them for immigration purposes. On top, some countries have bureaucratic requirements which mandate that the purpose of the check, written on the certificate, must mention that it is related to their country for x purpose.
You need to do a medical from Saudi consulate approved hospital in Bahrain which is valid ONLY IF you are applying from Bahrain. Otherwise, you need to go back to your home country and do a GAMCA medical (if GAMCA is there) or a medical from any accredited hospital. And also, even if you apply from Bahrain, you need to do a specific medical exam mandated by Saudi consulate from pre-approved hospital where the report is issued in a certain format and is submitted as-is to the Saudi consulate - doing a general check up in an approved hospital does NOT count (to give you an example, the Saudi work visa medical will ask for a stool sample whereas a normal checkup, even for LMRA work visa, will not for white collar professions).
So basically, knowing all of the above, I think your agent is correct i.e. your employer probably hasn't issued a pre-approved MOFA work visa.
Hope this is clear now?