Not sure if this is the most efficient way, but I'd do this using a sub-select (or maybe several). Let's assume all you care about is that there are no Documents (Windchill document type) in the Project.
Your report would search for Projects and return their name or something so you can identify them
You would have a criteria something like this:
Project Name is not in sub-select
The sub-select would be Project linked to Documents. You'd return the Project Name of these.
Basically the sub-select is returning all the Projects that DO have documents
Your main report's criteria says to omit any projects that fit that sub-select
You would add more sub-selects for other Projects you want to omit, such as Projects with CAD documents
Thank you for the idea, I also thought in that direction and created a report that will give me contexts with existing files. So, I just subtracted those from the full full list and got the result. It was part manual job, but hey, it works.