The viewers saw what the viewers saw. This was when Cady Huffman was playing Calista. The viewers saw her having the weapon, the viewers saw her using a pillow to cover the weapon & using it on Bonnie, the gun went off alright, but it killed Calista. So explain as to why it was never brought up as to who had the weapon, was it?
Then, there was no story at all to explain Sonny learning of it, now was there?
Then, Sonny knows that Bonnie had stolen money from Xander & yet no story to explain Sonny learning of it, explain that?