I do not think, you need to pass unicode option to hyperref package with XeTeX engine. So with the following example:
\documentclass{report}
\usepackage{hyperref}
\usepackage{bidi} %Must be loaded after hyperref pkg
\makeatletter
\renewcommand\section{\@startsection{section}{1}{0pt}{0pt}{0pt}{}}
\makeatother
\begin{document}
\section{\RL{foo}}
\RL{bar}
\end{document}
I get no error (using Updated TeXLive 2012) but one related warning which is due to the use of \RL macro inside \section:
Package hyperref Warning: Token not allowed in a PDF string (Unicode):
(hyperref) removing `\RL' on input line 9.
For details see page 19 of hyperref manual, under Replacement macros subsubsection.
To get rid off this warning, you can change your example into:
\documentclass{report}
\usepackage{hyperref}
\usepackage{bidi} %Must be loaded after hyperref pkg
\makeatletter
\renewcommand\section{\@startsection{section}{1}{0pt}{0pt}{0pt}{}}
\makeatother
\begin{document}
\section{\texorpdfstring{\RL{foo}}{foo}}
\RL{bar}
\end{document}
and if you do not like \texorpdfstring, you can try:
\documentclass{report}
\usepackage{hyperref}
\usepackage{bidi} %Must be loaded after hyperref pkg
\makeatletter
\renewcommand\section{\@startsection{section}{1}{0pt}{0pt}{0pt}{}}
\pdfstringdefDisableCommands{%
\let\RL\@firstofone
}
\makeatother
\begin{document}
\section{\RL{foo}}
\RL{bar}
\end{document}