Not that I know much about Slavic languages, but isn't good night an odd one out for them, too? I seem to remember in Bulgarian good night was Lake Nosht, but the others were variants of Dobre, and you have a similar thing with Russian, where you have Dobre this and that, but for Good night, you have Spakoy nay Noche (please excuse the Latin-alphabet rendition of the Cyrillic). Romanian is interesting as a language because it seems to have a Romance core, but, being an island in a sea of other languages, it seems to have absorbed not only vocab, but other bits of the other languages. Interesting!
In short, it has to do with a combination of differences in syntax and geographical influence (i.e. the influence Serbian, Greek or Turkish may have had on Romanian. Try this site to see if it helps:
I think that, as Momzi said below, "noapte buna" is more of a wish for someone else.
So whereas "buna ziua" is simply "good day," "noapte buna" is more like "have a good night" (minus the "have a").
To extend this, if you were to say "Have a good day," you would say "sa ai o zi buna."
(Also, sorry about all the missing accents. My keyboard is dumb)