Hi Marina,
I tried changing A != B fot not(A=B) and it gave me
the same result. 
I'm not sure what you tried exactly, but:
  <xsl:variable name="vNumNotSame"
    select="count(LOG/*[number(LOCATION_ID) !=
                        number(TARGET_CHARACTER_LOCATION_ID) and
                        not(preceding-sibling::*[1]/MESSAGE =
                            MESSAGE)])"/>
works -- I get:
 The total number of messages sent was:
6 The total number of messages sent to a
different location was 1 The total number of messages sent to the
same location was 1
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list