Addressing your first question (like @Josh, I would advice moving the other point to a new question), Morsanya & Handley (2008) (I can't find an open-access copy, sorry) have recently argued that heuristics have to be learned and acquired over time.
They presented a group of children aged 5 - 11 with several multiple-choice reasoning tasks, consisting of conjunction fallacy tasks, if-only fallacy tasks (concerning counterfactual reasoning), sunk cost fallacy tasks, and syllogistic reasoning, and found that as children got older, or scored more highly on an IQ test, they tended to provide more "heuristic" responses, and less "correct" ones.
They interpret this result as indicating that younger/less intelligent children aren't sophisticated enough to figure out the correct response, but haven't developed the heuristics either, so respond as random. As children become older/more intelligent, heuristics develop, but the children still haven't developed enough to produce the correct responses (bear in mind that with adults, more intelligent individuals produce more correct and less heuristic responses, so the trend reverses once people are advanced enough to figure out the correct response).
Kinga Morsanyi, Simon J. Handley, How smart do you need to be to get it wrong? The role of cognitive capacity in the development of heuristic-based judgment, Journal of Experimental Child Psychology, Volume 99, Issue 1, January 2008, Pages 18-36, ISSN 0022-0965,