This issue is still unresolved, but here's an update.
On Saturday, 7/27, I replaced both 500's with our old Netgear router and adjusted my servers back to the original config. I then installed firmware version 1.08 (provided by Dlink) on both 500s, and then re-programmed our configurations. To aid in debugging, we changed our configurations slightly as follows:
Router 1: handles a single public IP and connects to our web and email server
Router 2: handles 2 public IPs and handles our office computers, servers, VPN to remote office, and VPN passthrough used by our customers to connect to our backup server.
Router 3 is also a DSR-500 (I mistakenly listed it as a DSR-250 earlier), handles a single IP, and is used by our production group for computer build ups and repairs. This router is running firmware 1.03, has been in service for many months, and has not had any issues.
Routers 1 and 2 were placed back into service in the network at noon on 7/27. By 11pm, router 2 had locked up with the same errors. Router 2 has continued to lock up every 12 hours or so since.
Dlink engineers have stated that we are overloading the router and offered to RMA the one router. I was quite surprised by this comment. We bought 4 500s at the same time and have several other, previously purchased, in the field in use at customer locations (firmware versions 1.03 and 1.04), so we are still evaluating what to do with these routers. We're working with our customers to see if they are having similar issues.
As one more test, I am currently installing firmware 1.04B58 (available on the web site as the latest) into a third 500, and will be swapping it out with router 2 to see if it continues to fail.
I'll post an update once this latest test is compete.