That's not a normal behavior, not in Bash. Are you using the c-shell csh/tcsh ? or perhaps you have echo defined as an environment variable that was not exported, so it only works in your current shell, but not in any subshell. If you use the c-shell you may sooner or later run into problems, since this shell is not sh or bash complient.
To enable the interpretation of backslash escape sequences in the korn or bourne shell you can use the -e paramter. For instance
[dude@vm210 ~]$ echo -e "one\ntwo"