Problem with gr./fr. is rather tricky. From one side it is the last tariff point for both neighboring countries and taking formally - belongs to a domestic system, but in real life it is not a station, while discounts usually offered only to the stations. Probably one of the reasons - railway companies try to avoid too smart passengers tricking them
We can't says for sure about MAV and ZS, but in some other similar situations like MAV-ZSSK or ZSSK-CD no discounts offered for the tickets till gr.point.
Anyway, nobody forbids you to recheck and ask ticket counter in Beograd about possibility of Beograd - Cana (GR) with discount.
p.s. but taking into consideration your whole itinerary, our suggestion would be - purchase Beograd-Miskolc r/t, then during stopover in Budapest simply purchase Miskolc-Kosice-Miskolc (same 60% discount, so you'll pay only 6 euro). By such operations you'll avoid gr. problem and have same 60% off on the whole route from Serbia to Kosice.