Its not a matter of bad controller design, its a matter of expected behavior. The problem is that the consumer drive doesn't necessarily immediately acknowledge there's a problem. And the controller has no idea there's a problem because the disk didn't immediately acknowledge the error, so it doesn't attempt to pull the data from the other volumes until the timeout is reached. And as far as the controller is concerned, the disk is taking longer than normal to respond to a command, and thus is likely failing.
You can adjust the amount of time it waits for a response to account for consumer disks, But this degrades performance because the controller is just waiting on data that it could have gotten from a faster source.
Essentially it boils down to: Enterprise drives expect to have a fallback, and thus they will immediately report an error. Consumer drives, on the other hand, expect to not have anything to fall back on or any time limits on how long they have to respond, so they won't say there's anything wrong until they've tried to fix it.
Hypothetically, since this is primarily a matter of error reporting we're discussing, the entire problem could be solved by simply flashing raid optimised firmware onto a consumer drive. This wouldn't magically turn them into enterprise drives, but it would solve the potential problem with using them in raid.