Well! Some of the possible reasons could be Means of Transport missing in T Lane or Wrong Low level code calculation (due to cyclic T lane).
You mentioned that when you execute Heuristics at DC, Dist. Demand Planned is not going to Prod. Plant. Is Dist. Receipt created at DC?