I've been having this problem for years, and it's driving me crazy. Whenever I have a system with more than one HDD, they spin up for no apparent reason. This happens multiple times a day. It's happened with multiple computer builds, many different HDDs, and different Windows versions. I don't think it happened with XP, but I'm not sure since it was so long ago. I've had it happen with Vista x86, WIn7 x86, and now Win7 x64. IDE and SATA drives.
Now I've got a system with one secondary HDD and it's noisy and annoying. I'd like it to spin up only when I want it to. I've uninstalled Microsoft Security Essentials, disabled the auto-defrag, and made sure there were no other things scheduled.
I've used ProcMon and filtered for path starting with "G:\". It shows explorer.exe and svchost.exe doing things occasionallly, but they pop up in the list all the time while the drive is spun down. I don't see anything different going on around the time the drive spins up.
I've even unmounted the partition via command line using "mountvol G:\ /D". It doen't seem to reduce the problem at all.