Why, on some occasions does Moshe warn Pharaoh, and on others, he does not?
Ramban: Refer to 8:12:2:1.
Rashbam and Seforno (8:12): He warned him two out of every three times 1 - for Dam and Tzefarde'a, for Arov and Dever and for Barad and Arbeh, but not for every third one - Kinim, Shechin and Choshech. 2
Ramban (8:15): He warned him for plagues that could cause death, including Dever, in which the animals died.
Why does the Torah see fit to mention "be'Chol Moshvoseichem"?
Rashi: To teach us that, even though the Isur of Dam is written in the Parshah of Kodshim, it applies even nowadays, when the there are no Korbanos. 1
Rashbam: To teach us that the Isur Dam applies even in locations where only Chulin are to be found.
See Sifsei Chachamim, who also explains why Rashi inverts the order of the current two Diburim.
Why does it say sometimes for warnings "Bo El Pharaoh" (here, and below 9:1, 10:1), and sometimes not?
Da'as Zekenim citing R. Yitzchak, Moshav Zekenim (10:1): "Bo" connotes that the Shechinah will go with Moshe. 1 This is improper for warnings at the river, where Pharaoh went to defecate.
Ramban (8:15): For lice 2 , Aharon had to strike the earth, and the floors of Pharaoh's palace were presumably made of marble. For boils, Moshe had to throw the soot up toward the sky, in which case, he would have had to meet Pharaoh outside in the garden or courtyard.
Hadar Zekenim rejects this. It does not say "Bo" for the warning for hail, even though it was not at the river! Da'as Zekenim