This is pretty standard: airlines generally won't give OPUPs if you've ordered a special meal because (1) they assume that the special meal is needed for health/religious/etc. reasons, (2) the special meal can't be acquisitioned on short notice for the higher cabin, and (3) presumably the meal you ordered will be loaded in place of a regular meal, so if you're moved up, someone else in your former cabin will be forced to consume your selected meal as it will be the only meal remaining (assuming that the flight isn't catered with extra meals), (4) the airline thinks it looks bad to serve a lower cabin meal (including the tray, dishes, silverware, etc.) in a premium cabin, and (5) doing so would make clear to other revenue passengers who paid for premium cabin tickets that you were upgraded for free.
You were very lucky that someone was willing to bend the "rule" (OPUPs aren't a FF program benefit and are done for the convenience of the carrier at the operating carrier's sole discretion with the GAs generally given lots of latitude to do an OPUP for whatever passenger is quickest and easiest to upgrade at the last minute to fill a seat when a lower cabin is oversold) and give you the OPUP in the end.