some mods to xmlrpc library to handle data types better, and to exit() content so Output class does not muck with it
diff --git a/system/libraries/Xmlrpc.php b/system/libraries/Xmlrpc.php
index 4a5b97f..2022a7e 100644
--- a/system/libraries/Xmlrpc.php
+++ b/system/libraries/Xmlrpc.php
@@ -1351,13 +1351,13 @@
 				switch ($typ)
 				{
 					case $this->xmlrpcBase64:
-						$rs .= "<{$typ}>" . base64_encode($val) . "</{$typ}>\n";
+						$rs .= "<{$typ}>" . base64_encode((string)$val) . "</{$typ}>\n";
 					break;
 					case $this->xmlrpcBoolean:
-						$rs .= "<{$typ}>" . ($val ? '1' : '0') . "</{$typ}>\n";
+						$rs .= "<{$typ}>" . ((bool)$val ? '1' : '0') . "</{$typ}>\n";
 					break;
 					case $this->xmlrpcString:
-						$rs .= "<{$typ}>" . htmlspecialchars($val). "</{$typ}>\n";
+						$rs .= "<{$typ}>" . htmlspecialchars((string)$val). "</{$typ}>\n";
 					break;
 					default:
 						$rs .= "<{$typ}>{$val}</{$typ}>\n";
diff --git a/system/libraries/Xmlrpcs.php b/system/libraries/Xmlrpcs.php
index b7382fa..c7daa60 100644
--- a/system/libraries/Xmlrpcs.php
+++ b/system/libraries/Xmlrpcs.php
@@ -123,7 +123,7 @@
 		
 		header("Content-Type: text/xml");
 		header("Content-Length: ".strlen($payload));
-		echo $payload;
+		exit($payload);
 	}
 
 	//-------------------------------------