There could be many reasons for this. It could be a routing issue, but this is not very likely. It could also be blocked by something.
You should run a traceroute from the client machine that can't access your site to your site. On windows, this command is tracert <ip>
; on linux it is traceroute <ip>
.
Keep in mind that connectivity essentially fails between hosts. So, unless you get a reply saying something like "ICMP network administratively prohibited", you won't likely get to know who is blocking it; just the last forwarder before the packet got tossed and the trail went cold.
Keep in mind also that when talking to the admin of the last router (which you can find by looking up its IP address in whois, and contacting the technical contact for the most specific result) that you don't pay them (unless it's your ISP); their main interest is likely making sure their network is fully routed, not helping you out.
You could also potentially do a traceroute from your server to various nodes in Saudi Arabia that can't access your site (make sure they aren't filtering ICMP replies via windows firewall or similar, and make sure they have an internet-routeable IP), and see if it breaks down at the same or a similar point each time.