I have no issues with upgrading/altering a live production system, yes it would be great to have a test system, and I do appreciate the understanding and care of the community here when things do not go smoothly. Taking a copy and spinning it up on another server is a good idea in theory, but there are down sides to this too.
1) The time it takes, bandwidth usage, etc.
2) Needing a spare box capable of spinning up the configuration, the test is not very useful if the host has to be altered to run on lower spec hardware.
3) After all the changes have been tested/made, etc... migrating them to the production server can be a PITA.
There are solutions to all this, but they all require major changes and a large investment in time just to get it setup. If the server was to be setup from scratch (which one day I hope to get the chance), I would:
1) Move away from cPanel to a much more managable system (Debian Preferred).
2) Setup git and/or puppet for server management.
3) Setup a git repository for the website.
4) If budget allowed for it, spin up a dev VM somewhere and setup a workflow with Dave for updates/changes, etc.
All of this takes time though, which is limited. If Dave was a paying client (not that I am asking for him to be) I would be able to justify the time and effort to do this, but at current feeding my family has to be my priority.