How can I create a report that shows contacts with no activities within a certain date range?
In case you don't know of it, there is a Custom Search available under 'searches' for Include/Exclude Groups. So you could use that.

Step 1: create a Smart Group based on Activities within timeframe (A)

Step 2: create a smart group of 'all individuals' (B)

Step 3: use Include/Exclude Search to say B minus A