In reply to Rick Wicklin.

Good comments Rick. I don't have a good answer, but I do have more information to throw at you and perhaps keep you busy for a while.
You can also get data set output via ODS OUTPUT, with a statement like this:

ods output summary=odsStats;
proc means data=measurements min median max;
var timestamp;
run;

You can control the layout of the ODS OUTPUT data a bit more in SAS 9.3 using the STACKODSOUTPUT option.

ods output summary=odsStats;
proc means data=measurements min median max STACKODSOUTPUT;
var timestamp;
output out=stats min=min median=median max=max ;
run;

If you look at default data set layout when you using the OUTPUT statement in PROC MEANS, all measures are stacked in a single column. That may explain why the formats of the source variables are not inherited in the output data when it comes to printing them. I often use the technique you cite: save the output data and then PROC PRINT it.