If you had a report like this that was showing the proper list of computers with Adobe Flash Player 10:
SELECT vc.Guid,vc.Name, arp.DisplayName,arp.DisplayVersion
FROM vComputer vc
JOIN Inv_AddRemoveProgram arp ON arp._ResourceGuid=vc.Guid
WHERE DisplayName LIKE 'Adobe Flash Player 10%' AND arp.InstallFlag=1
Then this report would show computers without Adobe Flash Player 10:
SELECT DISTINCT vc.Guid,vc.Name
FROM vComputer vc
WHERE vc.Guid NOT IN
(SELECT arp._ResourceGuid FROM Inv_AddRemoveProgram arp WHERE DisplayName LIKE 'Adobe Flash Player 10%' AND arp.InstallFlag=1)
Does that make sense? You're taking the logic from the WHERE clause and putting it into a select statement that just pulls GUIDs, and then you're selecting the GUIDs from vComputer that do not exist in the list of GUIDs you pulled using this logic. You can apply this method to any query, or you can use the queries above as your template.
Does this help?