Have you tried just the plain Availability - Last Month Report? Could you attach the report you've been working with? Just find the name of the report file on the general tab, then grab it from the /Reports folder in the Orion install directory. There may be something due to select fields or filter results, but I'd need to see the report to know for sure.
Your report should work fine. I tried it on my Orion setup and it worked fine. I selected the default report Availability - Last Month in Report Writer. I then changed the Time Frame to Specific Time Frame starting 17/07/2012 and ending 17/08/2012 and ran the report. All my devices showed up in July 2012 and August 2012.
Here's the SQL commands that Report Writer created for it
SELECT TOP 10000 CONVERT(DateTime,
LTRIM(MONTH(DateTime)) + '/01/' + LTRIM(YEAR(DateTime)),
101) AS SummaryMonth,
Nodes.NodeID AS NodeID,
Nodes.VendorIcon AS Vendor_Icon,
Nodes.Caption AS NodeName,
Nodes.IP_Address AS IP_Address,
AVG(ResponseTime.Availability) AS AVERAGE_of_Availability
Nodes INNER JOIN ResponseTime ON (Nodes.NodeID = ResponseTime.NodeID)
( DateTime BETWEEN 41105 AND 41136 )
GROUP BY CONVERT(DateTime, LTRIM(MONTH(DateTime)) + '/01/' + LTRIM(YEAR(DateTime)), 101),
Nodes.NodeID, Nodes.VendorIcon, Nodes.Caption, Nodes.IP_Address
ORDER BY SummaryMonth ASC, 4 ASC