Sammy2 pretty much nailed it, but I'll elaborate a little.
The Echo doesn't really like High Bitrate anything. (container doesn't matter) if you encode at a high constant bitrate The Echo will choke (I've tested with multiple containers) and if you encode with variable bitrate, (higher quality) you'll likely end up with a file that will play right most of the time, but choke on "complex" scenes (I've used BBC Earth blurays to test with. It's also possible that the Echo just hates huge flocks of birds) when the bitrate spikes to a certain (so far unknown) rate. This holds true for the XBox as well (and other extenders from what I've seen reported)
Reference/B frames can also cause the Echo to choke. I remember reading somewhere that the cutoff seemed to be in the neighborhood of 3 or 4 consecutive frames. If you're encoding with settings above that, I'd question why. It doesn't help quality significantly and you get diminishing returns on compression ratio above those values. This is also a condition that effects the XBox (and other extenders, so I'm told) so it isn't unique to the Echo.
Subtitles aren't so much an issue for the Echo as they are for the splitters involved. I used to use Haali and DivxMF which handled subtitles fine (it wouldn't display them, but it also wouldn't choke on them) but I eventually switched to Shark007 codecs for a variety of reasons I won't get into here. Shark uses the LAV splitter for MKVs by default which doesn't play nice with subtitles. If your movie will play for a while and then choke immediately when the dialog starts, it's almost certainly a subtitle issue. (You could switch to Haali Splitter, or remove the subs from your MKV, note: if you go to Haali, I believe you'll lose the ability to play DTS encoded files until Ceton adds DTS decoding/bitstreaming to the Echo)
If you've used HandBrake to encode any of your MKVs the default profiles use "Variable framerate" on the Video tab. For reasons yet to be determined this results in files that won't play properly on the Echo, and more frustratingly, it isn't a detectable condition with MediaInfo. (As long as your source was constant framerate the resulting file will report as constant framerate regardless of the choice (constant or variable) in Handbrake.
If you've by chance used other extenders and the files played fine on them, I'm inclined to think it is the variable framerate issue, as the others would effect other extenders as well. The black screen and other symptoms make me think it could be the Ref/B frame issue for some of the files as well.
Depending on how big your collection is, you can look at remuxing (not reencoding) your library. I've had good success with a lot of files that wouldn't originally play on the Echo. You can remux to M2TS with TSMuxer which doesn't require any splitters at all and is handled natively by WMF. The downside to that is there is no way to "batch" encode that I'm aware of and you'll loose chapter info. Also, subtitles are converted to PGS which isn't necessarily great. I've also had good luck with MKVtoMP4 which does support batch conversions and will keep chapters and subtitles.
RAID protection is only for failed drives. That's it. It's no replacement for a proper backup.