The remote machine may be setting your terminal type to something other than the cons25 terminal type required by the FreeBSD console.
There are a number of possible work-arounds for this problem:
After logging on to the remote machine, set your TERM shell variable to ansi or sco if the remote machine knows about these terminal types.
Use a VT100 emulator like screen at the FreeBSD console. screen offers you the ability to run multiple concurrent sessions from one terminal, and is a neat program in its own right. Each screen window behaves like a VT100 terminal, so the TERM variable at the remote end should be set to vt100.
Install the cons25 terminal database entry on the remote machine. The way to do this depends on the operating system on the remote machine. The system administration manuals for the remote system should be able to help you here.
Fire up an X server at the FreeBSD end and login to the remote machine using an X based terminal emulator such as xterm or rxvt. The TERM variable at the remote host should be set to xterm or vt100.