I found something that works, but I don't know why. Here is my original code. I'm creating a bunch of Tabulate tables by looping over the elements in testDataColumns:
Tabulate(
			Title("Summary"),
			Show Control Panel(0),
			Add Table(
				Column Table(
					Statistics( Min, Max, Median, Mean, Std Dev),
					Analysis Columns (:column(dt,testDataColumns[i]))
				),
				Row Table(Grouping Columns(:Mode))
			),
			Set Format(
				Min ( (:column(dt,testDataColumns[i]))(15, 3)),
				Max ( (:column(dt,testDataColumns[i]))(15, 3)),
				Median ( (:column(dt,testDataColumns[i]))(15, 3)),
				Mean ( (:column(dt,testDataColumns[i]))(15, 3)),
				Std Dev ( (:column(dt,testDataColumns[i]))(15, 3))
			)
		)
This does not work. Format is complete ignored. However, if I do this:
abba = (:column(dt,testDataColumns[i]));
Tabulate(
			Title("Summary"),
			Show Control Panel(0),
			Add Table(
				Column Table(
					Statistics( Min, Max, Median, Mean, Std Dev),
					Analysis Columns (:column(dt,testDataColumns[i]))
				),
				Row Table(Grouping Columns(:Mode))
			),
			Set Format(
				Min ( abba(15, 3)),
				Max ( abba(15, 3)),
				Median ( abba(15, 3)),
				Mean ( abba(15, 3)),
				Std Dev ( abba(15, 3))
			)
		)
Format is correctly applied.
Just thought I'd add this in case anyone could use it.