1)
Why does it mention that David went?
1.
Malbim: He did not cease going, in spite of the cursing and stoning; he accepted it with love.
2)
Why does it say "Le'umaso"?
1.
Radak: Shim'i was far from David. The rocks and earth did not reach David. He stoned merely towards David.
3)
Why does it say "v'Iper be'Afar"?
1.
Radak: It is doubled to strengthen the matter. It could have said just be'Afar, or "he cast earth." Also "Mekarkar Kir" (Yeshayah 22:5) and "va'Tashresh Sharasheha" (Tehilim 80:10, are doubled to strengthen the matter).