Why, by some of the plagues did Moshe warn Par'oh, and by others, he did not?
Ramban: Refer to 8:12:2:1.
Rashbam and Seforno (on 8:12): He warned him two out of every three plagues 1 - for Dam and Tzefarde'a, for Arov and Dever and for Barad and Arbeh, but not for every third one - Kinim, Sh'chin and Choshech. 2
Ramban (8:15): He warned him for plagues that could cause death, including Dever, in which the animals died. 3
Da'as Zekenim and Hadar Zekenim (on Pasuk 25): This is comparable to someone who was warned twice before receiving Malkos for transgressions; the third time he is put in a cell to die without warning - Sanhedrin 81b. Because the ten plagues came in three independent groups, as the Siman 'D'tzach, Adash be'Ach'av' indicates - representing three on the ground, three above the ground and three in the sky; or, as the Seforno explains the first group took effect on the two elements water and earth. The second group on living creatures and the third group, on the air. Makas Bechoros is not really part of the third group (Be'ach'av - since, unlike all the others, it came, not as a warning to Par'oh to relent, but as a punishment for failing to do so
Why does it say sometimes for warnings "Bo el Par'oh" (here, and below 9:1, 10:1), and sometimes not?
Ramban (8:15): For lice 1 , Aharon had to strike the ground, and the floors of Par'oh'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 Par'oh outside in the garden or courtyard.
Da'as Zekenim citing R. Yitzchak, Moshav Zekenim (10:1): "Bo" implies that the Shechinah will go with Moshe. 2 This is not applicable to warnings at the river, where Par'oh went to defecate.
Refer also to 7:15:2:1-4.