For anyone else who has this issue, to save you much time trying to find it, here's what happened. I had removed the Messages button in my template which removed the element with the id "messages". The javascript function initHomeTabs located in app/webroot/js/moocoore/tab.js Looks for the element with the id of "messages" and grabs the needed url from the data-url element. So when going to /home/index/tab:messages the id "messages" is not found since the button was removed. That's the first issue.
The second issue is that the initHomeTabs function redirects to the same url (/home/index/tab:messages) if it doesn't find an element named "messages", so what you end up with is a constant redirect in the background while the screen simply shows "Loading" in the area where the messages section should be.
This will happen with any element with the id of X where X is the portion after tab in the URL structured as /home/index/tab:X .
I have implemented a fix naming another element "messages", but for anyone developing their own template, this is a pretty serious flaw.