He he! I don't think that your server guy has that much experience working with *NIX systems (including Linux). The 0700 trick is a very old trick (it exists since the 70s!) but he doesn't get it. The whole idea is that if a file is owned by user A and has 0777 permissions, user B won't be able to write to it. This is a major step towards the security of a site in a shared host environment. cPanel readily sets the permissions of users' home directories to 0700 for this reason. Maybe you should talk your host into investing in Red Hat Certified Engineer training for his engineers. After all, cPanel runs on CentOS which is just a spin-off distro of Red Hat Enterprise Linux.
Regarding suPHP, their comments are spot on, but there's more to that. Since suPHP makes PHP run under the owner user and group of the entry point file (index.php), if all files and directories are owned by your account's user then everything is writable by PHP. This eliminates the need for insecure 0777 permissions. It pretty much means that everything in your account's directory is owned by your account's users and anyone else will be simply denied access. That's a huge feature and comes with the price of running PHP in CGI mode, so you can't use APC and will have a performance problem if serving several millions of pageviews per day.
The other thing you correctly spotted is that security is a process, not a task. You can never claim that you have achieved a "secure server configuration". There's always something more to do and it's generally something you are not aware of since the very beginning. I regularly overview the security of my servers and adjust it. I regularly do maintenance work, from permissions fixing to upgrading software to reviewing logs and adjusting .htaccess rules. It's a never ending process. Feedback from other people is of paramount importance to this process, as it helps you figure out blank spots in your security setup.
Nicholas K. Dionysopoulos
Lead Developer and Director
🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!