Since you are doing something custom, it is almost impossible to diagnosis it without looking at it directly. It is like telling a mechanic to fix something but he cant even open the hood up.
The bullet list I originally posted will solve this issue on a clean install. You really need someone to look at it because non Magento default code/behavior is interfering with it.