I agree with Joe.
While on the surface retaining all the output components seems like a good idea, if you needed to return that program from OBSOLETE to live PROD after, say, 5 years, are you REALLY going to copy in those old LOADs, DBRMs, and other pieces? I highly doubt that....
So maybe a hybrid would make the most sense; save the source but only save the output components for a year...