How to write this query in SQL Server Compact in more elegant way?
There is no multi value CASE statement in T-SQL. However, you could do a join to a constant value row source like this:

SELECT *
  FROM dbo.Statuses AS S
  LEFT JOIN (VALUES(1,'Success','AStatus','Expected:1'),
                   (0,'Failure','AStatus','Received:0')
            ) AS SV(AStatus, Status, Reason, Message)
    ON S.AStatus = SV.AStatus;