I noticed that HTMLTable getWidget(int row, int column) always return null when the widget is a Ext GWT Component.
Looking at the code it looks like HTMLTable is relying on getWidgetIndex(Element elem) to return the __widgetID attribute of the elem for it to find the widget in widgetMap.
The problem occurs because Ext GWT Component getElement() method returns a dummy div when it's not rendered. It looks like the __widgetID is set on the dummy div but when you do a getWidget on HTMLTable it can't find the right widget since __widgetID is not set on the swapped in element.
final FlexTable foo = new FlexTable();
final LayoutContainer bar = new LayoutContainer();
foo.setWidget(0, 0, bar);
foo.setWidget(1, 1, new HTML("<h2>THERE</h2>"));
System.out.println(foo.getWidget(0, 0)); /* this is null but shouldn't be */