One other piece of info. All of the products are listed as "virtual" because one is an event registration and the other is a pre-order shirt to be picked up at the event. I did attempt to add a variable product as normal (non-virtual) with shipping set to local pickup but the results were the same.
So, is this problem unique to me?