For others information my problems were more deeply rooted then the title suggests. But what I found I think is important to relay on to others on an IIS install.
I was throwing problems that were not apparent where they were coming from and more importantly they were not consistent. Things seemed to work, then would stop and then work again. So even if you set up and everything starts out working fine in my case it did not mean that all was well.
In a nutshell Session_Save was not writing properly to the Temp directory. My host was not giving modify access to the Temp directory. In this case C:\WINDOWS\Temp\
Anyway here is what I found and based on two posts I realized what was happening:
1. Thanks to the poster at
http://php.net/manual/en/function.session-start.php
A note on Windows installations with an NTFS file structure:
Make sure you give your Internet user account (usually IUSR_MACHINENAME) "Modify" access to the session.save_path directory. Otherwise session_start() will silently - and oh, so slowly - fail.
("Modify" is a Win2k term, but the concept translates to older IIS installs).
This was what was happening to me as I would fail slowly so it was hard to see consistency in the errors.
2. And then Jason’ and Susan’s comments on Session_Save at:
http://modxcms.com/forums/index.php/topic,4758.msg34281.html#msg34281
Once again, you need to set the session save_path variable to a proper location in the startCMSSession() function in your manager/config.inc.php file...add one line before the session_start() call
session_save_path('path/to/writable/directory');
For me, I did not get the instant error so initially I overlooked this.
My host was reluctant to give modify access to the C:\WINDOWS\Temp\ so I did as Susan said and put the session_save folder above the public_html. And then I added the Session_Save_path line of code to manager/config.inc.php one line before the session_start()call.
In my case:
session_save_path('D:/inetpub/vhosts/mydomain.com/TEMP');
session_start();
Where:
/inetpub/vhosts/mydomain.com/httpdocs is the public root.