Composer tables are a special type of item... a "multi frame" item. They require QgsComposerFrame items to actually display their content. It's done this way as a single table can have its contents shown over multiple frames (eg on different pages). Here's some code which should work:
# grab first composition for now
c=iface.activeComposers()[0].composition()
# create a text table
table = QgsComposerTextTableV2( c, False )
# add it to the composition
c.addMultiFrame(table)
# create 2 frame items to display contents of table in
frame1 = QgsComposerFrame( c, table, 5, 5, 100, 30 )
frame1.setFrameEnabled( True )
frame2 = QgsComposerFrame( c, table, 5, 40, 100, 30 )
frame2.setFrameEnabled( True )
# add the frames to the composition. These are the items which actually
# show the contents of the table
table.addFrame( frame1 )
c.addItem( frame1 )
table.addFrame( frame2 )
c.addItem( frame2 )
# setup the table's columns.
# *Important* QGIS will crash if col1 and col2 go out of scope. You may need
# to make them global
col1 = QgsComposerTableColumn('col 1')
col2 = QgsComposerTableColumn('another col' )
table.setColumns([col1,col2])
# set some sample content text
table.setContents([['row 1','text'],['row2','more text']])