Can I run 2 separate applications simultaneously on a CEI-500 (PCIbus IP carrier), one reading the IP-708 card and one on the IP-429HD?

While it is possible for two executables to manipulate the two IP modules independently, there is a startup-initialization issue involved. During the execution of the ar_loadslv() API routine, all installed modules will be initialized to a startup state. Since the two executables will be running independently, it is quite possible that one executable will initialize, then configure it's respective IP module, only to have that configuration overwritten when the other executable initiates ar_loadslv() for the same carrier.

Since we provide the source code for the API, it would be a relatively minor software task to create two different IPAV_API.DLL libraries (named differently as well). One library would only address the IP-429HD module during initialization, while the other library would only address the IP-708 module. That would resolve any possibility of one application stepping on the other's board configuration. Modify the file IPAV_API.DLL so that each library referenced only the module you desire. Then build a two separate DLLs, one specific to the IP429HD and one to the IP-708.