SQL Server 2005 SP2 - Access Denied on MSSQLData directory
This was a strange occurance I found recently. If you encounter the error SQL Server Setup failed to modify security permissions on file C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\ you might want to look at the permissions on every file (sometimes ownership can be damaged). Don't just set it at the folder level to push the child objects down (this won't always do it if you have ownership issues). Verify that the NT account used to run SP2 has full control priveldges on the data and all the database files (at least the system ones).
Of particulary, make sure there is no distmdl1.* files or mssqlsystemresource1.* files. If they are, back them up somewhere safe, delete them, and try reinstalling SP2.
Hopefuly this will help others as this was particularly fun to figure out.