The Radeon HD 4800 series does not support shader model 5. Therefore non-constant indices aren’t allowed for array lookups. If you change the following line
const int splitPlane = 0;
it should work. I bet you’re testing on a GeForce 4xx+ model, right? These support SM5 so your comparison is a bit lacking. If your testing with a GF 2xx- generation card then the CG compiler doesn’t obey the limitations of SM4 correctly.
If you want shader model 5 you need to upgrade to a HD 5000+ card.
Edit: BTW, are you implementing cascaded shadow maps?