The reason I am asking is that this seems like there must be a more efficient way to accomplish this than creating a Data source, Data point, Virtual Data point, and event handler for each individual device. Could this possibly be accomplished using a global script if it involved many devices?

Of course! Scripts do enable pretty much anything. Can you say more about how you're going to monitor what sort of device's uptime? You could make HTTP requests through the HttpBuilder and check for timeouts. For that matter, in the referenced thread it is about pinging. You could do something like

Another option could be setting the information to a single alphanumeric point with a change detector if you're only looking for event active emails. Then you could do it all in a single scripting data source, and just edit the script when new hosts come around.

In the Alphanumeric approach, would the scripting data point hold the host info (IP) and pass it to the data source script? Or are you suggesting the hosts be part of the script and the alphanumeric point is the trigger for a general alarm for any return of 1?

I had a chance to try this out and I do not seem to get a response when running the ping command (this is on a MangoES). I have verified shell access is available via scripts by running commands like the ones below where I receive a response.