Haven't used an Apex, here's my experiences with DA.
1) bus issues for larger systems. I have 9 modules spread across 2 rooms. After I expanded past the base system and added a ~15 ft bus cable, I started getting bus errors from my halides turning on. I had to add common node chokes to the transformers, and I moved all of the DA equipment as far as I can get it away from the MH system (it's still within ~2 feet). That mostly fixed it (it happened every time at first). It still triggers an alarm about once a week randomly (always timed to the lights), the system resets and everything clears. It's just a minor annoyance now, it sends me an email for every alarm in the system when it happens. I'll probably move to LED's soon anyway, which I expect will resolve this. There are others that claim to have 100' cables with no problem, so I guess your mileage will vary. Maybe my two 250 watt magnetic ballasts are just unusually noisy.
2) they haven't put out an update in two years (last update was 9/21/11). I assume because they've been focused on the SL2 debacle. SL2 is fixed and shipping now though, so I hope we'll see some updates, bug fixes, or new modules...?
3) If you set an alarm on temperature or PH, then when you reach the point of the alarm, say 82 degrees, the alarm will repeatedly trigger and clear over and over when the temperature bounces between 81.9 and 82 (just sitting in constant temperature water the reading bounces by .1 often). I've been surprised by hundreds of emails from this in a single night... I don't have it set up to SMS me because of this (don't have unlimited SMS). DA's response is that alarms should "never happen," and it's doing what they designed it to do, so it's not a problem... My heater failed and my email was spammed, alarms do happen and it is a problem. I'd like to tell it to trigger the alarm at 82, but don't clear the alarm until it drops below 81.8. They have that ability when controlling heaters or chillers, but they don't have it on alarms.
4) minor, but annoying. If you change a multi timer it won't run until the next start time passes. So, if you have a multi timer set to start at 12 am and repeat every hour 23 times, and you have another timer set to start at 12:30 am and repeat every hour (think 2 part dosing separated by a half hour), then if you modify the "on" time to increase or decrease dosing at noon, it won't dose anything for the next 12 hours until you hit the 12 am start time. They have the ability to do a timer that turns on and off on a cycle, on a minute, off for 59 minutes, without a start time, but you can't do an time offset between two of them, so you can't separate ca and alk dosing using it. So, the end result is that you either dose CA and ALK at the same time, or live with skipped dosing whenever you need to adjust dosing. I do most of my testing and adjustments in the late evening, so not a big deal. If you do most of your work at the same time, then just use that as your start time.
Overall, it's ok, even better if you can get a good deal. I'm sure Apex and Reef Angel users have their list of annoyances too.