Annary (love the name by the way),
I do agree with the advice not to make a big deal about the food throwing, but I would continue to address it in a calm manner. You can respond in a very calm way while still making it clear that this isn't acceptable to you and giving an appropraite consequence of removing all food for a short time or ending the meal if it continues (sounds like you are already doing this?)
I would also adjust his routine a little bit. The breakfast time is great, but then I would move the morning snack up to between 9:00 or 9:30. I know this seems really early, but in this way you are leaving a larger gap between the morning snack and lunch (which seems to be a harder meal for him) so that he is hungrier and more motivated to eat. Then I would do your lunch at 11:45, nap, and very small snack at 2:30, and then "tea" at 6:30 (is that supper??). I would keep all snacks super-small, and even keep in mind that snacks don't always have to be "snack-food". You can use that time to introduce new meal foods as well. Even for breakfast you can try more variety/new foods that aren't typical "breeakfast foods", as really you want to expose him to many things and have him explore and find different things he likes. I would also just make sure that he doesn't get any food or drinks besides water in between any meals/snacks. Even a few bites can really deplete a LOs appetite as their stomachs are so small, and liquids such as milk or juice (which is an appetite suppressant) can also decrease appetite if given near a meal. HTH