A Theme will overwrite any properties on a page, including child collections. So your columns get overriden by the columns defined in the page. There are two ways around this:
1. Define all of the columns in the skin file
2. Don't use a Theme, but instead use a StyleSheetTheme
The latter works in the same way as a theme but doesn't override existing controls.
Dave