It's your IO subsystem, without a shadow of a doubt.
Errors are moving around because the IO subsystem is corrupting different parts of the various files.
You need to move off that IO subsystem until you figure out what is wrong with it. Use SQLIOSim to diagnose - see http://support.microsoft.com/kb/231619 - IO subsystem diagnostics are usually not sufficient to stress the IO subsystem into producing errors.
Thanks
Paul Randal
CEO, SQLskills.com: Check out SQLskills online training!
Blog:www.SQLskills.com/blogs/paul Twitter: @PaulRandal
SQL MVP, Microsoft RD, Contributing Editor of TechNet Magazine
Author of DBCC CHECKDB/repair (and other Storage Engine) code of SQL Server 2005