SQL server now has row versioning like Oracle, so that writes won't block reads, and you don't have to read dirty data (you just read data how it was before the write started). I think this is not turned on by default because it has a performance hit.
Also I can't remember if it's new to 2005 or 2008 versions and can't be bothered to look it up.