Okay, so since you need one record output per minute, you will need a way to generate a record for each minute between some interval (@StartDate - @EndDate):
DECLARE @StartDate Datetime
DECLARE @EndDate Datetime
set @StartDate = '2010-07-02 14:02' --Start time for Report
set @EndDate = '2010-07-02 16:02' --End time for Report
select
DateAdd(MINUTE, Number, @StartDate) AS Minutes
from
(
-- This is just a fancy way to generate a list of numbers:
select row_number() over (order by t1.object_id) AS Number
from sys.all_objects t1, sys.all_objects t2
) AS Numbers
where Number <= DateDiff(MINUTE, @StartDate, @EndDate)
With the code above, you get a list of all the minutes between the chosen interval.
Now what you need to do, is to join the output from above, with your event table. I won't provide the code for this here, but this should get you started.