What implementation properties of a hash function prevent safe truncation?
You really should never be truncating a hash.  Really you're talking about the difference between traditional hashing algorithms and cryptographic hashing algorithms.  A cryptographic hash algorithm has to not be predictable, while a traditional hash algorithm doesn't have that concern.  You aren't guaranteed perfect random distribution, so really you shouldn't ever be truncating a hash in any situation.

Could you specify a situation where people "feel comfortable truncating a SHA2 hash"?  I don't know what you're referring to.