(The following is my understanding from experience, not looking through source code):
An IA's extension amount for a line gets calculated by quantity * unit cost. If this amount is different than the tier's ExtensionAmt, then there is no system correction made during posting. For all other transaction types, when a tier is depleted, the transaction's extension amount is set to match the tier's remaining value during posting. The automatic unit cost set in the IA, can be rounded so that the calculated extension amount does not match the tier total, even without overriding the unit cost.