Thanks for the debugging tip :) well its odd because it now seems to work. (well I had deleted all other customer orders for testing and I guess I need to wait for my client to let me know if she got any emails herself (she shouldn't have that's the original bug that happened last night). So if she didn't get any order update emails tonight then that means its working fine.
its just really odd, because today I recreated the code as how I first created it last night when I found this bug. But if its working fine now, there must have been one very tiny thing I overlooked last night.
Jason, would you know of any situation of the top of your head that would send out emails to all records that were not selected from a checkbox. Perhaps if there was some kind of error then maybe it wasn't taking my selected records and somehow forced itself to use all the ones that weren't checked.