OK, just so I understand you correctly, this is what I think you meant.
1) Running unRAID array: D1, D2, D3, D4, D5, D-Parity, D-Cache
2) Drive 3 fails: D1, D2, X, D4, D5, D-Parity, D-Cache
3) Cache disk kicks in, and starts rebuilding D3: D1, D2, X, D4, D5, D-Parity, D3(rebuilding)
3a) Remove failed drive, and race down to local pc shop.
4) Drive 1 fails, before D3 rebuild completes: X, D2, X, D4, D5, D-Useless, D3(partial)
4a) Curse !!!!! :'(
5) Action; Insert new replacement HDD. Remove now useless Parity drive from unRAID configuration. Configure new Parity drive (using new HDD or existing parity disk, doesnt matter), and calculate parity.
6) Assuming parity process completes without further failures,
Outcome; data on D1 is lost in full, data on D3 is partially available(if lucky), D2, D4, D5 are in tact: X, D2, D-Parity, D4, D5, D-Unused, D3(partial)
6a) Get another HDD from the shop.
7) Insert 2nd replacement drive, which is effectively a new drive to the array, with no data on it. And reconfigure the Unused drive as a new cache drive: D-New, D2, D-Parity, D4, D5, D-Cache, D3(partial)