Migrating to the webserver - what do I have to take care for? What do I have to keep in mind? What do I have to take care for - especially if I have troubles with

file ownership
permissions

If I set up a drupal-commons version 6.25 locally on my machine at home - which is a openSuse 12.1 - everything runs nice. All goes smoothly.
especially if I want to upload files - no problem here.
But if I want to do the same - uploading pictures - on the version that I either installed directly on the webserver or ported over to the webserver I have terrible issues.
It is not possible to upload any file - I have troubles and get error messages....
regarding the temp-directory (which is complained to be missing)
regarding the permissions on site/default/files
Well some words regarding the server and the circumstances and conditions it runs with: my serveradmin works with the setgit bit
I run a linux sever that is administered by a friend of me. He prepares the chown and permissions - with the setgit-bit to on. See the issues with the server described more detailed here  
on a sitenote:
Well the trouble is that i get lost the setgitbit every time when I touch the permissions with FileZilla.
That is the terrible issue! Note - at the moment I do not have a access to the server wit WinSCP - WinSCP can set the Setgit. FileZilla cannot do this at all!
The question is: what do I have to take care for if porting over Drupal. Both versions:
.a a Drupal commons version 6.25 and
.b a Drupal version 7.12
Do I have to set up a tmp directory again? Note: if I create the whole installation here on my local server then my assumption is, that all things have been done properly.
What experience do you have - what do I have to take care for?
I love to see a fruitful discussion.
I strongly recommend you look into using drush to synchronise sites.  Although it admittedly will not solve your permission woes, it will greatly ease the pain of doing this for every update you need to push.

As for permissions, there are many ways of configuring depending on your set-up and how safe you want to be. I usually just have all files belong to webserver and add my user to webservers group, but like I said many things can go wrong with permissions.

Coming back to drush rsync, I would most probably attack this by setting up 2 aliases, one for @dev and the other one for @live (or @stage). So, with those aliases you can rsync  via the simple command  drush rsync @dev @live your whole site will be transferred. Just set proper permissions the first time you do this on /files and other folders needing write access, and you should be set to go.

PS: Do look into drush sql-copy and other goodies hidden in drush.  I cannot imagine doing this manually anymore, I have used aliases for a few years now and would NOT go back the old way!

Hope that helps, good-luck!