If the first page first line no nullcell, then the header bottom line no miss. If nullcell, then miss, but only on the first page, the others do not. I don't understand why. Sorry, for my poor english.
Full source code:
\documentclass[12pt]{article}
\usepackage{cals}
\makeatletter
\begin{document}
\begin{calstable}
\colwidths{
{100pt}
{100pt}
}
\thead{
\def\cals@borderT{0.4pt}
\def\cals@borderB{0.4pt}
\def\cals@borderL{0.4pt}
\def\cals@borderR{0.4pt}
\brow
\alignC
\cell{head1}
\cell{head2}
\def\cals@borderT{0pt}
\def\cals@borderB{0pt}
\def\cals@borderL{0pt}
\def\cals@borderR{0pt}
\erow
}
\tfoot{
\hrule width 200pt height 0.4pt depth 0pt\relax
}
%\brow
%\def\cals@borderT{0pt}
%\def\cals@borderB{0pt}
%\def\cals@borderL{0.4pt}
%\def\cals@borderR{0.4pt}
%\cell{1}
%\def\cals@borderL{0pt}
%\def\cals@borderR{0.4pt}
%\cell{text 1}
%\def\cals@borderR{0pt}
%\erow
\brow
\def\cals@borderT{0pt}
\def\cals@borderB{0pt}
\def\cals@borderL{0.4pt}
\def\cals@borderR{0.4pt}
\nullcell{ltr}
\def\cals@borderL{0pt}
\def\cals@borderR{0.4pt}
\cell{text 2}
\def\cals@borderR{0pt}
\erow
\brow
\def\cals@borderT{0pt}
\def\cals@borderB{0pt}
\def\cals@borderL{0.4pt}
\def\cals@borderR{0.4pt}
\nullcell{blr}
\spancontent{2}
\def\cals@borderL{0pt}
\def\cals@borderR{0.4pt}
\cell{text 2}
\def\cals@borderR{0pt}
\erow
\tbreak{\vfill\break}
\brow
\def\cals@borderT{0pt}
\def\cals@borderB{0pt}
\def\cals@borderL{0.4pt}
\def\cals@borderR{0.4pt}
\nullcell{ltr}
\def\cals@borderL{0pt}
\def\cals@borderR{0.4pt}
\cell{text 3}
\def\cals@borderR{0pt}
\erow
\brow
\def\cals@borderT{0pt}
\def\cals@borderB{0pt}
\def\cals@borderL{0.4pt}
\def\cals@borderR{0.4pt}
\nullcell{blr}
\spancontent{3}
\def\cals@borderL{0pt}
\def\cals@borderR{0.4pt}
\cell{text 3}
\def\cals@borderR{0pt}
\erow
\end{calstable}
\end{document}