It should be the other way round. Infact when in development mode it hardly matters the extra bit of time but when in the production environment it matters and so we should have that option turned on (Bounds checking on) in production.

Again the disadvantage is if you change the option from development to production you can have surprises when doing the deployment and so its never a good option to have different setup for development and deployment.

I will give you one example as to the chat software we worked on and in worked perfectly fine in the development environment as well as the testing environment of our network but when deployed it just crashed when we double clicked on the exe and everything that we did like primary testing was questioned but after a day or two of debugging in the development environment ( Because we could not debug in the client environment ) we realized that there network had a firewall setup and we used the chatting on a port which is blocked by the firewall on the client network. Remember to get as close as possible to the production environment so that you don't have to face such problems. The solution to the problem was finally to change the port at which chat application worked.