Я использую libxml 2.7.3 с PHP 5.2.11 в OS X.
Не сравнение яблок с яблоками, но, возможно, это поможет вам.
Когда я запускаю ваш код (и добавляю закрывающий тег PHP, вот мой вывод.)
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><script type="text/javascript">
//<![CDATA[
var a = 123; // JS code
//]]>
</script></html>
Похоже, что отображается правильно, как вы хотите. Возможно, номера версий помогут вам разобраться ... Я использую старую версию PHP5 (кстати, Mamp, поэтому я не скомпилировал ее сам).
Надеюсь, это поможет вам найти ответ.
Береги себя!