Hi guys,
This is a good thread. Just for the record here is how I work. I am currently a SC V6 user.
I work on development PC, a laptop. I have SC installed and before I click on the SC icon, I first make a SSH tunnel using PUTTY to my webserver. I do this because I want to use the mySQL databases there, and once I have the PUTTY logged in to my server, I have the SSH tunneling so my local machine can access the webserver DBs as localhost. believe me, it save saves a lot of messing with databases in the long run I have found. I am using a Sony Viao laptop, but I am always online. I feel secure using this arrangement even at coffee hsops, as no one is getting into that SSH tunnel 
So I can easily and freely generate source code, and run the login app or whatever I wish, on the local PC. I have only found one thing I have ever had to ‘run’ from a webserver to test, and that was a non-SC payment system.
So after some development work, I force myself to do a total ZIP based deploy. Once the zip is created by SC, I download onto a folder on my laptop called …/deployments/ , create a folder called …/deployments/project-xyz-v-1-3 or whatever. I then us WinZip7 to extract everything to that subfolder. That is EVERYTHING needed to deploy the site. As long as you work carefully within the SC system, all images and code you need are in there. It took me a while to get used to that, as I have always used more conventional IDEs where you have to track and take acre of stuff like …/images/logo.png and such that you are referencing.
Then I use WinSCP to upload the CONTENTS of that folder to my webserver into the appropriate prep-prepared web folder. I have already tested that webserver folder when I created it on my webhost control panel as a PHP application with a mysql DB also up there. Since I have already been testing with that DB form the laptop, I know it will work 100% the same. I always test my subdomains and such before I do the first deploy, so I know www.blahblah.com will go to an fake index.html at least. Do that before you do any SC deploy, to isolate any potential problems.
The first time using the app deployed this way, your app will prompt you to edit the connection to the DB. Do that one thing takes just 30 seconds. save and then logout. BTW Note your new password for that control panel, althought I have never had to go back in and fix a connection. But that could come up later, especially if you lost the new password 
So then try the domain again and the default app you choose in SC during the process of the deployment will come up. Log in and test. I always have a working system. Of course, I am getting real world test of the whole thing thru my browser, etc.
Just a side note that I try to test my app on 3 major browsers (FF, IE10, and Chrome) as well as from an android phone, tablet, etc.
I would recommend that you NEVER deploy over top of your production site directly. You could introduce some error and then be chasing bugs on a live site. Simply set up a staging folder as a php app, with some variant of your domain name, like stage.blhblh.com . That way, when it is working and tested 1000%, you can deploy to the production folder.
I also always completely clear my webserver folder when doing a zip deploy, just to get rid of anything old that might linger and cause me security headaches in the future - like if you were testing an SC app with no security, orphaned it, forgot it, but never deleted it later.
So my …deployments folder down on the laptop (and sugar sync AND another copy on a network backup 1TB drive), always has ever exact copy of all my deployments. I can always in a pinch fall back by deploying the last version, etc.
Now, that said, I always do a zip deployment after incrementing my project version. So if I got from 1.2 to 1.3, I do a clean zip deployment. I love the incrementing, as it gives you a snapshot on the project. I only do this when I have a big thing I am working on or some kind of milestone. But I do find project incremeting very useful way to document and have a safety net under me.
So in between those zip deploys, I have started using the FTP deploy. In fact, I always test locally and then force myself to do a quick FTP deploy right then and there. Number one, I have all the apps open that I have been working on, so I can easily check just 1 or 2 apps needed to be uploaded. Then I FTP them using the built-in FTP, which is not super fast but on 1 or 2 apps is not big deal. Then I test online. You do not have to do the connection configuration ro anything else. This is usually a test of customization of the event code that represents my business logic, or some other type of moderate changes. I even will make a new app and deploy it in this way.
PLEASE SC - please please please tell me that V7 saves the FTP settings
I haven’t tried V7 yet, as I am letting the dust settle on the fixes. But it would be nice. Chrome saves the settings, if you click on the first letter of the field, but not optimal.
You guys would laugh when I very occasionally click to deploy everything on FTP - no way to stop the agony LOL. But usually I have a pretty snappy workflow going this way. Again, after working like that for a few days or whatever makes sense to me, I deploy a clean, full zip deployment.
So for better or worse that is how I work. I have thought about running SC from my webserver or a staging one, which would make deployment to a folder a nice option as well. But it is just me for now developing, and I like my laptop. You could get to the point where all development is thru the web with SC… not a bad option. A great option for multiple programmers on the same project.
All in all, SC has been useful and pretty powerful tool. I do a lot of customization with events, some javascript, some ajax, adn even injecting echo for CSS code and javascript as needed. But I always am able to do so within a SC project. I only dig into the generated code with NotePad++ when I do a dumb thing like paste and modify a 100 lines of php code and then throw a { or ; type error. I will use notepad to look at the local or web version of the bad file, and usually deduce the syntax errors location - then I fix it in the project SC app.
Hope this helps anyone out there figure out good ways to effectively use SC.
Peace,
Jamie
PS Have any of you found enhancements in SC V7 deployment I should get all excited about?