If you are on Linux, then in addition to Paul's suggestion it may also be worth checking if the path OpenSurgSim is trying to open matches the udev paths/symlinks present on your machine/distro. On Linux, running the example app under strace should help determine this.
Also, is it possible that another app (such as the xcube demo =) or spacenavd) already has the device open? If you don't see any obvious app that it may be worth checking with lsof.
(On Windows, you should be able to check if a device is open with ProcessExplorer, but if I recall right multiple apps can access the same 3DConnexion device simultaneously.)