Generally yes people are shying away from tables, but that's so they can have a non-fixed layout.
Generally I don't think I'm seeing enough of your actual data and it's relationships to say what the 'proper' markup would be, but right now it would probably help if you closed your TR, lost the line-break for nothing after the table... and I have to ask what makes this 'tabular data' and if there's a relationship between the images and the text inside the table, why isn't ALL your data inside the table? Likewise if that's the title of the gallery and the gallery is in the table, why use a H1 to do CAPTION's job?
I suspect (guessing a bit here) that what you have should be something more like this:
<h1>Title of Gallery</h1>
<img src="images/pic1.jpg" width="200" height="150" alt="pic1" />
<img src="images/pic2.jpg" width="200" height="150" alt="pic2" />
<img src="images/pic3.jpg" width="200" height="150" alt="pic3" />
<img src="images/pic4.jpg" width="200" height="150" alt="pic4" />
<!-- .gallery --></div>
Since that's really not tabular data, that would most likely be the appropriate markup. Set the outer div to float wrapping, float the inner DIV, set the span to display:block and the text alignment you want. If you had more than 4 on the page, just keep dumping them in and they'll wrap predictably if all your images are the same height.
If they'll be varying heights, that might take a wee bit more planning.