I disagree that the sin of David was threatening to break the promise God made to Abraham. First of all the description of Abraham's descendents of as numerous as the stars in the sky or grains of sand is obviously a figure of speech and not an exact number. Therefore you can't take it literally and say that X amount of people would fulfill or not fulfill it.
Plus, God's promise was to Abraham's DESCENDENTS... a single census fails to take into account the people of future generations. These cannot be counted, and there is therefore no threat to this so called "breaking" of God's promise.
I always saw David's sin as that of placing his trust in himself and his army and not in God. By taking a census he was trying to find out how many fighting men
he had and how powerful
his army could be, instead of placing his trust in God for his military success. A parallel can be seem in the story of Gideon in Judges 7 - God makes Mideon take only a handful of men to fight so that they will know for sure the victory was because of God and not of their own strength.
If you say there no absolutes, I ask you, are you absolutely sure?