Because of the way the array is set up (parity, striping, etc.) Raid-5 requires that all disks be "the same size". I put that in quotes, because while the RAID controller doesn't
require that all the disks be the same, it bases the total array size on the smallest disk present in the array. If you put six 400GB and one 250GB disk into a seven-disk Raid-5, the total raw volume size will be 250x7 GB, and not 400x6 + 250.
So, when you replace a drive in a Raid-5, you need to replace it with a drive that is >= the smallest drive in the array.
The problem is, as was indicated previously, the Apple drive firmware reports a slightly larger drive size than a standard, off-the-shelf one. Your off-the-shelf 400 GB drive may report a capacity of 400 GB, but the Apple drive will report something slightly larger--400.1 or something.
So, you can use off-the-shelf drives in an Xserve RAID (but there's no Apple support, functionality not guaranteed, etc.), but if you have an array built from Apple drives, and try to replace an Apple-firmware drive with a non-Apple drive of the same size, the Raid controller will see the non-Apple drive as being slightly too small, and will refuse to use it. You can replace it with a larger off-the-shelf drive (500 GB instead of 400 GB, say) and it will (should!) work. But you're wasting 100 GB of disk space.
Check the Xserve RAID forum for discussions on non-Apple firmware drives--should be informative.
Hope this helps!
-Josh