This is a tall order. Let me recap what I understand from the original question as well as comments made:
You have about 500 devices, each costing about US$200 each. You want to protect them from being stolen from an office park, and ideally there would be a tracking system so they could be recovered. The solution shouldn't increase the per-unit cost much, either in initial cost or recurring (monthly) costs.
Let me start my answer by telling you what won't work...
GPS: You didn't say what these devices are, but I am going to assume that they will be indoors almost all of the time. GPS reliability indoors is almost zero. If you are careful you could get one to work, but metal and concrete effectively block GPS signals. Wood does block the signal, but not as effectively as metal and concrete. The point is, GPS is not going to be the ultimate solution for your location requirements.
ZigBee, Bluetooth, Wireless: None of these are reliable enough to use for your communications. They would be OK within your office park, but not outside of it where you are essentially hoping that there is an unsecured network that you can use.
Pager/Cell-phone: From a technological point of view these would probably be your best solution, but the monthly costs will be prohibitive. As @kenny said, US$15/month would be the lowest price.
Battery Life: With any of these solutions you will be very limited by battery life. You might get a couple of days, max, and that assumes that you have enough space to put a reasonable size battery in it and the stuff required for 500 people to charge it.
So, here are some "out of the box" ideas that might work for you. If it doesn't work then maybe it will spark an idea or two.
Use WiFi, but not for tracking. When the unit powers up it tries to establish a Wifi connection with the office park network. If it can't then the unit simply shuts down. In this way, if the unit is taken out of the office park it just doesn't work. While this doesn't do any tracking/recovery it does reduce the motivation for theft. After boot, the WiFi module can be powered down thus saving battery life.
Use medium or long range RFID to detect the unit leaving the park. For example, place some RFID readers at the doors to buildings and log when a unit goes through. Combine this with security camera video and you can identify who took the unit. The huge advantage with this is that it requires no batteries and the cost per unit is very low. The initial investment might be high, but after that it doesn't really matter if your tracking 500 units or 5,000 units. And since it's RFID, you can protect just about anything without a huge engineering effort.
Hope that helps!
EDIT:
New info: Units will be mostly outside. Location tracking is most important within the office park/campus. Theft prevention isn't top priority.
In that case, I'd just use WiFi for communications with or without a GPS for location. Maybe include a GPS but use WiFi triangulation for when GPS reception isn't quite working (since you already have a WiFi module). If you find out that WiFi triangulation is good enough then you can skip the GPS on later units.
The main issue I see with this is the expense of the WiFi & GPS stuff. I'm estimating that it would cost about US$75-100 for such a circuit, which is not an insignificant fraction of the unit cost. I don't really see an alternative that would be as practical.
I still don't think ZigBee or Bluetooth is reasonable. It would work, but would require extra infrastructure. With WiFi, you can at least share the costs with the I.T. department.
A recommended approach would be to use an optocoupler followed by a comparator (eg. LM339), or better, an integrated part such as the Fairchild Semi FODM8071 logic gate output optocoupler.
The reason the optocoupler is recommended:
There is likely to be a ground potential difference over a 50 meter cable, also the possibility of picking up EMI over the long cable. The optocoupler eliminates any ground loop / potential mismatch concerns, as well as any need to precisely match the sensor's supply voltage to the microcontroller's.
The use of the opto will allow a higher voltage to be used for the sensor circuit, reducing EMI noise sensitivity.
An added benefit of the specific Fairchild part suggested above is its high noise immunity. This will result in a more stable signal acquisition, important given the distances involved.
FODM8071 is a 5-pin leaded SMT part, so using it is essentially like not having to build any additional circuit - you could wire the part and its few support discrete components up deadbug style, if you like, or put them together on a proto-board PCB.
Best Answer
Well an easy solution for you could be not to use a microcontroller. Instead, you can use a USB to UART device that goes up to 3 MB/s such as an FTDI chip. Then, all you have to do is modulate your UART signal on a higher frequency carrier. Finally, you have to send your modulated signal over the air.
In order to perform your modulation, you can refer to this post of mine. The circuit was for a simple IR transmitter, but the circuit could work with your FTDI chip without MCU.
What you can do in order to achieve very high data rates is to use an analog circuit to generate your carrier wave. It doesn't even have to be a sinewave if you don't care much about polluting a large amount of spectrum: with a square wave, your signal would pollute all harmonics of your carrier frequency. With electromagnetic wave this would be problematic/illegal in some countries, but with visible light, no one cares, since you need a line of sight in order receive the data.
Assuming a square wave, you can use a very simple oscillator such as a logic multivibrator, which may be obtained from a basic HEF4047B logic chip mounted as an astable oscillator.
In the first reference I posted, the "carrier" would be your astable oscillator's output and your "data" stream would be the FTDI chip's TX line.
In order to receive data, you need a demodulator. That will will be conceptually easy, but harder in practice: you need to multiply your carrier with the inbound signal obtained from a phototransistor with high sensitivity to your emitter diode's wavelength. As I don't know your technical background, I won't enter much into details, but the analog multiplication will cause a frequency shift of your carrier, so that you will be able to filter it out with a low pass filter.
The higher the carrier's frequency, the easier it is to remove it from your inbound data stream. A carrier frequency that is 8 times higher than your data stream looks appropriate in your situation, since you have to expect a lot of collision. The filter will smooth out your data, so it might be a good idea to recover your signal with a schmitt triggered inverter. You may ask why an inverter? Because UART has a high logic level when inactive, which is undesirable, because it would cause your circuit to always transmit blank. The circuit I first proposed in the other post managed to reverse the signal, so you have to invert it back to normal UART at the receiver side.
As specified by Deamon, it is good to use a laser diode, but definitely not necessary. I achieved such speeds as yours with standard IR diode. It requires a good reception circuit, but it is doable. Though, the range was quite short : ~3m max for a very high power directional IR diode.
As for the bad reception you experience, always take into consideration that wired connections such as USB or LAN do have to cope with noise, disturbances, etc. that causes transmission errors. It is quite common. On electromagnetic wireless (WiFi et al.) it is very very common to experience such problems. You have to cope with the following elements:
Signal interruption: your transmitted signal may not reach the receiver at all times, especially if you are transmitting in the visible spectrum, since even dust may disrupt the signal if it is too weak.
You can see objects around you because of light reflection. This may and will occur. As such, not only your signal may "jump" from your transmitter to your receiver, but your own signal may corrupt later signal because of bouncing. This is pretty unlikely at such low speed, but still possible.
Your communication is probably full-duplex if you expect USB/UART/LAN-like transmission. That means that two or more device may communicate at once (two one-to-one setups, but also one-to-many or many-to-many) , so your protocol stack has to handle that. If you really have full-duplex communication, you cannot simply disable the receiver when transmitting to avoid #2, so you need more complex demodulation circuitry.
Your circuit will probably not float in perfect ideal vacuum: there is a lot of stuff that "emits" in the spectrum that you have chosen. Depending on the wavelength that you will select, your receiver will be polluted by a lot of stuff that you may not even see. By example, a fluorescent lamp emits both a little amount of IR and UV alongside visible light. While you feel like the fluorescent has constant "DC" emission, it is not the case. It is much more wave-like and full of harmonics, so that may pollute a very large part of visible spectrum. Cheap IR receivers (38 kHz or the like) include large circuitry to circumvent such issues.
Now that you have a good overview of all the issues that you will encounter, I would just add a final comment about your microcontroller issue:
Your AVR chip is probably fast enough to handle your 3MB/s data stream if it is only routing from FTDI chip to the IR transceiver circuitry. Your issue is probably that the Arduino framework is too much user friendly and therefore very slow. I actually achieved 2 MB/s (peek) 750kHz (continuous) speed with an MSP430 (SPI) which is mostly in the same class (performance/MHz/features) and I still had time to perform little processing. I was receiving commands at that speed, decoding them with my 2-level protocol stack and using the data. It was very tight, so you may not have the skill set required to code highly optimized assembly routines, but even for poorly optimized C code, 200kHz is quite sluggish performance.