The former (moving a folder to the trash) affected only that folder, not anything inside it. Everything that was in the folder is still in the folder. It's just that the folder is now in a different place.

The latter (emptying the trash) requires that the folder and everything inside it be deleted. The problem was that some of the things in the folder could not be deleted.

The word deleted deserves a little clarification here. Putting something in the Trash does not delete it. The Trash is simply a folder (well, actually, it's a collection of folders, but that's not relevant here). Moving something to the Trash is no different than moving it to desktop or to your documents folder or to any other folder. The volume catalog still knows where the thing is, both logically (it's name and what folder it's in) and physically (what sectors of the disk it occupies, if it's a file). Deleting means that the volume catalog forgets all that, and any disk sectors it was using become available for re-use.

From your description, it sounds like what was damaged was the volume catalog's info about one or more of the files inside the folder. As long as the filesystem didn't try to do anything to that file, the damaged info about it was never noticed, but once you tried to actually delete the file, the damage could no longer be ignored. (For example, if the list of in-use disk sectors was corrupted, there would be no way to know which sectors were to become available.)