I must have misunderstood your original question, I thought you wanted to use native sessions but just did not want the PHPSSID to show up if cookies were enabled. If $_SESSION is starting on it's own, auto_start might be enabled in php.ini. Any page that does not have session_start() at the beginning should not generate any URL insertion on the following page, or on itself if it is the first page.
session.auto_start=0
I am pretty sure the cache info is set in the php.ini also.
session.cache_limiter=nocache
; set to {nocache,private,public}
I think the nocache is default because of the dynamic nature of so many PHP pages, or perhaps more likely to prevent users coming back to an expired session. I think if you turn sessions off it will not generate that header, but you can over-ride that by sending the headers you want with the header() function to tailor the caching for a page.
I personally do not use native sessions, so I have never played with these settings and am just guessing. If I am mistaken, please be gentle with me 🙂