Technical Engineer-types working for a company should have their own hardware budget. This allows everyone to get what they are comfortable with. For example, I shouldn't be forced to use a certain type of PC if I would really be more productive and prefer using a mac.
This type of thinking would really only apply to the really technical users though. Most folks, should have something that is standard. Then when common problems occur they can be fixed and tracked in a common way.