I am wondering if there is a way to detect if a reverse shell is blocked by egress filtering or an obligatory proxy, or the exploit just failed.
I am asking this question in the context of a SE media dropping senario.
There's no way to tell directly from that actual test, there's no enough information. However, you could tell whether the exploit works or not by telling the target system to do something that it is allowed to do, for instance browse to a web server under your control (presuming that any outbound web connectivity is allowed). If you command it to get a webpage and you get a hit on our site, the exploit works, and then you know that the shell command isn't working for some reason.
As an addition to GdD's answer, have the "payload" try several things, since you'd have no idea about finding out if your code / exploit was actually executed. A range of things could be one of the following:
If you have nearby access to the infected computer starting bluetooth and enabling visibility or setting up a WiFi peer to peer network may help. If you'd have visual access to the machine, something simple as changing a screensaver could indicate exploit success.
Usually corporations have egress filtering enabled, so having a shell break out and access an arbitrary port may not work that well.