However, when I search one-way on www.mavcsoport.hu/en I don't find a train. Interestingly, if I try to book a return ticket, it shows a train for Eu20!
Yep, selling return (but not one-way) is in fact a feature of Hungarian Railways (MAV) website with certain type of tickets. One of the reasons here is that due to agreement between Hungarian and Slovak railway companies return tickets between the countries are sold with 60% discount, thus although it might sound weird, buying return ticket de-facto cheaper than purchasing one way ticket.
(a) Does Eu20 sound reasonable for a one-way journey?
Well, first of all return Budapest-Poprad via Kosice is 28,50 euro (or 36,5 euro if you want to be valid on local trips around Poprad). You probably got 20 euro per person when you entered all the passengers, right? Children <12 pay only 50%. But in general "reasonability" depends on what you compare it to
If with Western Europe, then paying 20 euro for >370km trip is very good offer, especially taking into consideration conditions on which this type of tickets are sold (see below), but if you compare it to Eastern Europe (e.g. Ukraine or Belarus) buying 20 euro ticket for 370km journey is kind of expensive. Slovak domestic tariff for the similar distance is about 16 euro per adult passenger, Hungarian - from 6000 to 7000 HUF (depending on whether you use Intercity trains or not)
(b) Are these discounted fares, or can I buy a one-way ticket (for approximately this price) in person after I reach Budapest?
It is a kind of special offer, however best thing about it is that price is always the same no matter when you buy it or whether online or MAV ticket counter, so one can purchase such ticket even before departure. So probably makes sense to buy it already when you in Hungary, no need to bother with somewhat tricky Hungarian Railways website
(c) If it is better to book ahead, is it safe to book a round ticket though I plan to travel only one way? Or will there be a problem?
As was mentioned earlier, in this particular case buying return is actually cheaper than buying one-way. And there is absolutely no reason why you can't do it. You don't break any rules or anything, it's your choice not to use part of the ticket.
(d) The train shown is Budapest - Kosice - Poprad with an 8min connection time. Since I am traveling with children and luggage, I am not sure if this will suffice. Is there any way I can search with a longer connection time? OR should I book two tickets, one Budapest - Kosice on www.mavcsoport.hu/en and a later train for Kosice - Poprad on the Slovak Train site?
Well, you certainly can purchase tickets separately (Budapest-Kosice is 20 euro per adult or cheaper if you count children, while Kosice-Poprad is 2,6-5,30 euro per adult passenger or, again, cheaper if you count children). However train ticket you would buy in Hungary won't be bound to any specific train, thus you can even spend couple days in Kosice and only then travel to Poprad, ticket validity period here is 1 months