First of all, thanks for cluing me in about the store pickup module. I hadn't even thought to check if there was one pre-built into zencart.

The solution you gave doesn't ~quite~ work. That block of code is inside a check for zones. Since I am not using zones, it never executes that part of the code. If I set the flag before that block it will only get set back when the zones are checked.

But now that I knew what to look for, I was able to find another thread that addressed the issue. http://www.zen-cart.com/forum/showthread.php?p=343559 Its the same general idea but instead of setting the flag, your setting the enables itself. Put that in right before the block of code that checks zones and it all works fine.

Oh, and it should be $_SESSION['shipping']['id'] and not just $_SESSION['shipping']

Another thread that helped with my solution was http://www.zen-cart.com/forum/showthread.php?t=77374