I'm sure, as someone replied with, there is a bug that is now fixed in 6.0 M010. However, to explain what's happening, the last row you have that includes the spanned column is the "bottom" of the table. That's why the frame="topbot" puts a line there. However, as you noted, it also will put a line under the footer, which you do not want.
Due to the way tables work in Arbortext, there is often a time where we want to manipulate the behavoir. One of those methods of manipulation is to place a row somewhere with a "0" height. (Since I use CP, as well, I use "0.0001pt".) Anyway, it places a row somewhere that has all the properties of a row without the height being shown. The method that Brandon gave is an excellent example of this technique.
By placing a row with "0" height at the end of the table, that new rowis now taking the place of the "last" row in the table. Therefore, your row with a span in it will be allowed to operate normally, or at least as expected. The last row in the table is always controlled by the "frame" attribute on the table.
Hope this helps,