So far I've been able to disassemble some of the loader code (whether or not it's disassembled properly, I can't say - don't know what compiler they used or what processor it's really compiled for, but it detects as being mixed, some for ARM and some for thumb). Assuming my disassembly is correct, there are a few points where comparisons are made and program flow altered according to the results - manually checking each of them is becoming tedious, but I'm still plugging away. Basically, I'm just modifying a single byte at a time, switching it so it takes the opposite choice. I'm really wishing I had a way to emulate the M3 on my computer, so I could do these tests faster than changing one byte, writing the new copy to my flash card, booting up my NDS, and staring at a blank screen with no way to tell if my change even had an effect... if anyone knows of a way to do that, let me know - hopefully it will be something I have the means to do.
UPDATE: I haven't yet looked back at older versions, but it turns out the g6dsloader.1 files have two large areas that are different between the official Japanese and Asian versions (1.34) - so it's possible that the region lock has been moved. I plan to compare older versions with the hacked version and between regions of the official version to see if these differences exist there too. If not, I may have found the new region lock!
If anyone would like the hex addresses of the sections that match and don't match, pm me - I don't have the numbers handy yet, and I'm lazy about recording information until it becomes necessary, but if anyone out there thinks they might know what to do with this, that's a good enough reason for me.
UPDATE 2: Not much to add here (don't want to create false hope - I still don't know if I'll be able to break the region lock), but while scanning through the g6dsloader.1 I found sections in various European languages. While I'm far from being multilingual, some of the words are quite obviously translations of other words in the file, so it appears that I've stumbled onto a section containing the various language translations - for the European version! I'm hoping this is a good sign, since I can't think of a reason why they would put all of this into the Asian code if it wasn't going to be used. The true test, I suppose, will be to try and find the same section in the Japanese release - if it's there too, then either they used a template, or I'm barking up the wrong tree for the region lock. More to come as I discover it
(By the way, I've been looking at the Asian 1.34 release, based on a rumor that the Korean release was based on the English translation)