Printing simple SQL comparsion
SQL uses three valued logic.

When one of the operands is null the expression evaluates to UNKNOWN not false. Your current code does not take account of this and can be altered as below to do so.

PRINT CASE
        WHEN @aTotalExVat = @sTotalExVat THEN 'true'
        WHEN @aTotalExVat &lt;&gt; @sTotalExVat THEN 'false'
        ELSE 'unknown'
      END 


If you wanted to treat NULL = NULL as true and NULL = any not null value as false you could use

DECLARE @Message VARCHAR(5) = CASE WHEN EXISTS(SELECT @aTotalExVat 
                                               INTERSECT 
                                               SELECT @sTotalExVat) 
                                   THEN 'true'
                                   ELSE 'false'
                               END;

PRINT '==Full Ex Vat==';
PRINT @Message; 


On SQL Server 2012 there are a couple of new functions that shorten the above somewhat

DECLARE @Message VARCHAR(5) = IIF(EXISTS(SELECT @aTotalExVat 
                                         INTERSECT 
                                         SELECT @sTotalExVat), 
                                  'true', 
                                  'false');

PRINT CONCAT('==Full Ex Vat==', CHAR(13), ( CHAR(10) ), @Message);