I thought it could be about the same (because data has to be looked up in both cases) or probably 2 times as long (if the case with foreign keys is more favorable because Sql Server knows there are matches in the joined tables for each purchase).
It is obvious the data will always be looked up with a simple queryplan through the primary keys.
At first I wasn't aware that every record would be read several times.
I don't know if keeping the data in memory is more favorable in one layout than in another layout.
It's a pitty you didn't compare db-distribution to file distribution.
Especialy since with sql2005 you can also use partitioning, even put parts of your table in read-only mode, ...
And because of the way "schema" is promoted for usage, you can even consolidate different dbs providing way better "dbo" functionality via schema authority.