nxml + mule-ucs で先頭に 0xbbef が入る

utf-8-ws になってたらしい。
utf-8-ws とは

utf-8-ws,utf-8-ws-unixutf-8-ws-dosutf-8-ws-mac.

 これらは,utf-8-*コーディングシステムと基本的に全く同一ですが,これらのエンコーダは,先頭にUTF-8サインを追加します。

http://www.jagat.or.jp/sgml/emacs/muleucs.htm

らしい。

こんな感じの advice を追加して逃げる

(defadvice nxml-mime-charset-coding-system 
  (around utf-with-mule-ucs activate)
  (cond
   ((string= (downcase (ad-get-arg 0)) "utf-8") (setq ad-return-value 'utf-8))
   ((string= (downcase (ad-get-arg 0)) "utf-7") (setq ad-return-value 'utf-7))
   (t ad-do-it)))