There are probably many potential situations that can lead to a problem which could have a similar description. One would be:
If you type that command by itself, and not as part of a script with later echo commands involving plain text, the subsequent shell prompt line will move the cursor.
I would try
echo -e "\e[16;45Hsome text\e[0;0H"
or
tput clear cup 16 45; echo "some text"; tput cup 0 0
The advantage of tput is that it uses the terminfo capabilities defined for the terminal type specified in the TERM environment variable. We shouldn't assume everything is ANSI X3.64 (ISO 6429) even though almost everything is nowadays.
echooutputs a newline at the end of the arguments you give it, so<CSI>...H<NL>moves to column 1 of the line after the specified line.