Feh. If it doesn't have more backslashes than you can count on one hand, it's probably not worth writing.
 ~/code/foo $ grep \\\([BF][to]o\\\).*\\1 foo.txt
Seriously, the '/' at the end of the expression seems to be the culprit. If Solaris grep can handle this kind of back-reference, I am pretty sure anything that does regexes can handle this kind of backreference.