Hey i found a workaround that I think works:
What I was doing before was probably like you guys. The structure as if I was in the WordPress Editor would look like this
[tabs][image][/image][image][/image][/tabs]
Which in the template on first try looked like:
<?php echo do_shortcode('[tabs]'); echo do_shortcode('[image]'. code for generating image .'[/imagetab]'); echo do_shortcode('[image]'. code for generating image .'[/imagetab]'); echo do_shortcode('[/tabs]'); ?>
Which worked except the closing shortcode would just display as text and not close off the rest of everything. The workaround that seems to work for me is to do the same thing as I did in the [image] [/image] section, only executing the whole thing in one line, looking like this
<?php echo do_shortcode('[tabs]'.'[image]'. code for generating image .'[/imagetab]'.'[image]'. code for generating image .'[/imagetab]'.'[/tabs]'); ?>
I'm still pretty green at all this, so there is probably a better more elegant way to do this. but it seems to work for me. I hope this helps someone, if anyone finds a better way be sure to let me know!