I don't see where you're centring the caption, which in any event should be accomplished by modifying the Caption Style, not by overriding the paragraph format in code. Indeed, your line:
Code:
oTbl.Cell(r + 1, c).Range.Text = StrTxt
eliminates all of Word's implementation of normal captioning conventions.
To fit the text to the cell, you could use the .FitText method. See the relevant code in the link.