Just in itself there's no issue in running it in debugging if the performance is good enough. What strikes me as odd is that you are running business critical 24/7 applications as users, perhaps even on a workstation. If you want to ensure robustness and avaliability you should consider running this on dedicated hardware that no one uses besides the application. If you are indeed running this on a users machine, accidents can be easily made, such as closing down the "wrong" visual studio, or crashing the computer etc.
Running in debug should be done in the test environment. Where I've work/worked we usually have three environments, Production, Release and Test.
Production
- Dedicated hardware
- Limited access, usually only the main developers/technology
- Version control, a certain tagged version from SVN/CVS
- Runs the latest stable version that has been promoted to production status
Release
- Dedicate hardware
- Full access to all developers
- Version control, a certain tagged version from SVN/CVS
- Runs the next version of the product, not yet promoted to production status, but will probably be. "Gold" if you like.
Test
- Virtual machine or louse hardware
- Full access
- No version control, could be the next, next version, or just a custom build that someone wanted to test out on "near prod environment"
This way we can easily test new version in Release, even debug them there. In Test environment it's anything-goes. It's more if someone want to test something involving more than one box (your own).
This way it will protect you against quick-hacks that wasn't tested enough by having dedicated test machines, but still allow you to release those hacks in an emergency.