I got this to work by combining a few suggestions. I did not like the idea of hacking the Reporting Services tables, or subverting the normal scheduling. The suggestion to throw an error seemed the best, but did not make sense. Finally, I was able to create a stored procedure with a parameter that said whether to allow for an empty result set or not. Example:
CREATE PROCEDURE usp_getReportData @StartDate DATETIME = null, @EndDate DATETIME = null, @AllowEmptyReturn BIT = 1
AS
BEGIN
IF NOT Exists(SELECT TOP 1Data1, Data2 FROM DataTable
WHERE Data2 BETWEEN @StartDate AND @EndDate)
AND @AllowEmptyReturn = 0
BEGIN
RAISERROR ('No Records Found',16,1)
END
ELSE
BEGIN
SELECT Data1, Data2 FROM DataTable
WHERE Data2 BETWEEN @StartDate AND @EndDate
END
END