For example, if I had either a Linux server running mdadm or Windows OS performing RAID at the software level, would data recovery be possible if the system crashed? Are there tools to access the array should this happen?
Sure, For linux just boot a standard livecd. For Windows you might need to setup a new install on separate disks if the crash resulted in an un-bootable OS somehow.
The software RAID formats used by Linux and Windows have been around for a long time. There are companies that claim to be able to recover data in some of the more unusual types of failures/corruption, that can't be handled internally.
Depends on exactly what you mean by crashed.
Various RAID levels have different levels of recoverability. Likewize some filesystems are better designed to be able to survive in the case of corruption (read about features like journals, and check out zfs).
In any case. Remember. RAID is not a backup. You should have a backup system in place. RAID gives you better drive performance and some fault tolerance, not a backup.