You’re on the right track. Here’s how I think of it. The pump has no way of knowing if that blood sugar is premeal or post meal even though you can flag them pre/post in the ping. If your target is set to 120 then the pump will want to do a correction to 120 all of the time whether you just ate or are fasting or 2 hours after or 3 hours after eating. The pump can’t know that.
What the duration does is determine how long your previous bolus is active. So if you have it set for three hours and you check your insulin on board at 2 hours you’ll have a little bit insulin still working. Animas does a curve linear calculation so it’s not 1/3, 1/3, 1/3 but to make it easier to explain I’ll use a straight calculation as an example. Let’s say you give a 3 unit bolus at 8 am. At 9 am your insulin on board will be 2 units, at 10 am it will be 1 unit, at 10:30 it will be 0.5 units and the bolus will be all gone at 3 hours. That’s all the duration does. If you need a correction any time a previous bolus is active then the pump will subtract insulin on board from a correction only.
I find it easier to set my pump target to a premeal target bg and to manually adjust for post meal corrections on the fly. You can either do it in your head or on the bolus details screen you can arrow up and change the target and get a precise calculation for what you want your 2 hour post meal target to be.
If your target is set too high the pump will tend to shave off too much from carb boluses when your bg is lower. If you set it too low you’ll get really aggressive corrections for highs. Setting a target with a range will help reduce some of that though. That’s why I have my target at 100 with +/- 10 points. I’ve been thinking about changing that to +/- 20 to reduce negative corrections even more.