Before we start I do not advocate deleting directly from the ReportServer and your posts scared me a little.
Can I ask why you are not using the report manager for this?
If you want to list the run once reports I've amended your SQL above.
FROM dbo.Subscriptions S
INNER JOIN dbo.Catalog C
ON S.Report_OID = C.ItemID
INNER JOIN dbo.Users U
ON S.OwnerID = U.UserID
INNER JOIN ReportSchedule r
ON s.SubscriptionID = r.SubscriptionID
INNER JOIN Schedule sc on r.ScheduleID = sc.ScheduleID
WHERE RecurrenceType = 1
ORDER BY LastRunTime DESC
If you must do it in SQL then to delete the subscriptions use:
exec DeleteSubscription @SubscriptionID = 'GUID-GUID-GUID-GUID'
The trigger on the Subscriptions table removes the SQL Agent job etc.
OK DeleteSubscription is actually just:
DELETE FROM [Subcriptions] WHERE Subscription_ID = @Subscription_ID
but it's usually good practice to use the SP since there may be more it does.