(See image here)
This is weird, because I assumed that the game would compare the nickname with the species's name, and determine whether it matches or not. That way, it would decide whether or not to change the Pokémon's nickname. I'm pretty sure this is how Generations I and II do this, as I don't recall encountering this issue in those versions. And of course, I believe that Generations IV and V have a nickname bit for this purpose, so basically this issue is unique to Generation III as far as I know.
What, then, causes the nickname to not change if it's from a foreign game with the same species name? Is there some byte that stores the language of the game, like Generations IV and V? It's the only thing I can think of, even though, as far as I know, Generation III lacks foreign Pokédex entries, the Masuda method (for shiny Pokémon), the 1.7x experience boost, and in Emerald, it probably even lacks the Everstone issue that occurs in Generation IV. Or is there something else that I'm missing?
Of course, I can always trade the Golem back to my Sapphire cartridge the fix the nickname that way, but I still find this odd.
Also, this won't be the last time I'll be mentioning odd things about my Spanish Sapphire cart… just stay tuned.