OK, this is the last one for today at least :) Here's how it worked, too, now 100% sure, tried it a few times with refreshing all loggs etc. So it looks like there might be some particular problem with maybe appending bytes from the post body as it is received or something similar? Well, just a guess...

POST /analytics HTTP/1.1
Host: localhost:8080
Accept: */*
Accept-Language: en-us
User-Agent: Shockwave Flash
x-flash-version: 10,0,45,2
Content-Type: application/x-www-form-urlencoded
Content-Length: 1821
Expect: 100-continue

HTTP/1.1 100 Continue
<xml data>
-------------------------------------------------------------------
HTTP/1.1 200 OK
Content-Length: 2
Date: Thu, 07 Jul 2011 08:20:50 GMT
Server: Hunchentoot 1.1.1
Content-Type: text/html; charset=iso-8859-1

ok

This worked:

(defun analytics-service ()
  (save-parsed-events
   (dom:first-child
    (flexi-streams:with-input-from-sequence
(stream (hunchentoot:raw-post-data
:request hunchentoot:*request* 
:force-binary t))
      (cxml:parse-stream 
       stream (cxml-dom:make-dom-builder)))))
  "ok")

Best.

Oleg