I agree that the Amalekite had (falsely) reported that he had killed Saul (undoubtedly hoping to ingratiate himself with David). I also realize that God had previously ordered Israel to kill all the Amalekites (1 Samuel 15:3). However, David himself had been willing to fight on behalf of the Philistines against Saul and the Israelites (1 Samuel 27:1-28:2; 1 Samuel 29), which could have enabled him to possibly kill Saul in battle (even though, in fact, the Philistine generals would not allow David to fight with them). Also, the Amalekite owed no allegiance to Saul as the king of Israel. Wasn't it therefore unjust (or at least hypocritical) for David to have had the Amalekite killed for doing so (even if the Amalekite's claim was false)?
2 Samuel 1:1 - 16
ESV - 1 After the death of Saul, when David had returned from striking down the Amalekites, David remained two days in Ziklag. 2 And on the third day, behold, a man came from Saul's camp, with his clothes torn and dirt on his head. And when he came to David, he fell to the ground and paid homage.
For follow-up discussion and general commentary on the topic. Comments are sorted chronologically.