actually php5 does support it, but its a setting in php.ini
i think it defaults to off.
still, like said above, use _POST
$HTT*VARS are deprecated. plus they are not superglobals like POST GET etc...which means more effort to use them inside of functions.
in regards to question #2
with default settings, yes sessions require cookies. there is a setting in php.ini that you can enabled though. it will make php add the session id to your html links, form action= etc... all automatically for you. it will only do this if the user has cookies enabled. in otherwords, it stil tries to use cookies, but if it cant, then it will use the url.
session.use_trans_sid = On
btw- if you ever need to change a setting and dont have access to php.ini, you can usually use ini_set()
some settings cant be changed that way though, including trans_sid
you can set it using a .htaccess file though
php_flag session.use_trans_sid On
http://www.php.net/manual/en/configuration.changes.php
be aware passing the session id through the urls can be dangerous. if one of your visitors decides to cut and paste a url to a message board like here or whatever, anyone who clicks the link will hijack thier session. so use that feature carefully.