I get what you're talking about, but recreating a game from the NES on the NES wouldn't make much of a difference solely due to the fact that NES games are made in a type of assembly language...which is very tedious to program in, but at the same time, very efficient, thus utilizing every byte of space on the cartridges. As technology advanced, we could advance to less primitive languages like C, C++, and nowadays C# and XNA. If you were to try and make a 2D game in XNA and stuff it into an NES cartridge, you'd run out of space pretty fast because of the bulkiness of the language. Every line of code translates to tens, even hundreds of lines of assembly.
That being said, the quality of an NES game depends on the sheer programming skill of the developers. Maybe programmers are better nowadays, maybe they're worse. Who knows? My bet is that if Square were to re-make FF1/2 for the NES, they'd do it from the ground up, and it wouldn't be all that much better.
So why is it that NES games got better as time progressed? Developers got more used to the platform, and learned to make games as efficiently as possible. But people don't really make games for the NES anymore, so all that talent has withered away, and it'd take years of programming NES games to get it back.
Of course, if any random doofus with a good knowledge of programming (let's say...me) were to make a re-make of FF1 in XNA for the PC (without memory constraints, but with the same color/resolution constraints), it'd easily be superior to the original, simply because I'd be able to do what used to take 10 developers a week in a day because of how easy/user friendly programming languages have gotten since the NES.