You can set up your double eval so that it doesn't append the separator sequence at the end. It goes like this:
substring(xdMath:Eval(xdMath:Eval(d:tItems, 'concat(", ", @itemName)'), ".."), 3)
Once you have that, you can just use Anson's suggestion to wrap all of that in a concat to tack the period on at the end.