Here is how I've solved this problem. Still wondering if there is a better option.
As I iterate through each TableLayoutPanel control I determine it's location by:
Point location = panel.Location;
Control parent = panel.Parent;
while (!(parent is DesignerForm)) {
location.Offset(parent.Location);
parent = parent.Parent;
}