Tclsh is broken in 12.4T
As Roddie pointed out in his comment, in some cases tclsh writes its output to the first line (usually console), not to the current line as expected. This “feature” has been introduced in IOS release 12.4(6)T1 (12.4(6)T is still OK) and fixed sometime before IOS release 12.4(11)T; 12.4(9)T is still broken (and I haven't tried all the other interim rebuilds ... or shall I call them rebreaks?).
In my case, the router is running 12.4(12).
The Cisco Bug ID is CSCsf07232.
Looks like it's present (and fixed) in a good number of versions.
Fixed in:
12.4(11.1)T, 12.2(32.08.29)SRB, 12.4(10.8)T01, 12.2(32.08.11)SX19, 12.2(18.06.05)SXF, 12.2(18)SXF07, 12.4(13.3), 12.4(13.5)T, 12.2(33)SRA04