When working with cell ranges, be aware that the cell range includes the cell end character. You are more likely to get the results you are seeking if having set the range, you remove the end character from the range (whether copying or pasting) e.g.
Code:
Set rng_Paste = UserDoc.Tables(i).Cell(MyCell.RowIndex, 1).Range
rng_Paste.End = rng_Paste.End - 1
Note also that there is no need to copy and paste when working with ranges. You can simply write the formatted value of the source range to the target range e.g.
TargetRangeName.FormattedText = SourceRangeName.FormattedText.
Your last example code does not work with two documents and their corresponding tables.