I've just came back from my Interrail trip and i've been in Sofia (Bulgaria) and Beograd (Serbia) so i could try to answer you (even if my english isn't very good)
So for the delays time, i took an overnight train between Thessaloniki and Sofia and it had about 3 hour late.
I took also an overnight train between Sofia and Beograd and i had about 4 hours late... During my trip, others bagpackers told me that these delays are usual in these country unfortunatly...
I missed my train connection between Beograd and Budapest so i stayed one day in Beograd. I think that the train station in Beograd could be safe at night if you don't plan to stay in the "waiting room" (i don't know if it's the good word in english...)...
As i said, i took an overnight train between Thessaloniki and Sofia. It cost me nothing even i had to make a reservation. I slept in a non couchette train with 3 bulgarian people (2 women and 1 man) and i had no problem with thefts.
Between Sofia and Beograd, i slept in a couchette train and i cost me about 11€. I slept with 2 slovakian people and i had no problem too.
To choose between a non couchette train and a couchette train, you have to ask how much does it cost to travel on seats. If they answer you that there are non seats, you have to take a couchette train. So if you want something like a two-bed sleeper or a non couchette train, just ask for it and you'll see because it depends on each train connection
I hope you can understand what i've written