BoundingBox shotClsn1 = new BoundingBox(new Vector3(shot1pos[0].X, shot1pos[0].Y, 0),
                      new Vector3(shot1pos[0].X + 30, shot1pos[0].Y + 30, 0));

BoundingBox shotClsn1 = new BoundingBox(new Vector3(shot1pos[1].X, shot1pos[1].Y, 0),
                      new Vector3(shot1pos[1].X + 30, shot1pos[1].Y + 30, 0));
  ・
  ・
BoundingBox shotClsn1 = new BoundingBox(new Vector3(shot1pos[enemy1s.Count-1].X, shot1pos[enemy1s.Count-1].Y, 0),
                      new Vector3(shot1pos[enemy1s.Count-1].X + 30, shot1pos[enemy1s.Count-1].Y + 30, 0));


shotClsn1には一番最後のデータしか入ってないとか?
でもshotもenemyも1つずつだったらいけるのだろうか…
BoundingBoxの効力が及ばないという意味を詳しく