In my humble opinion, anyone who goes and modifies the core to change a method is really missing out on what can be done with C#. If you look in the docs folders you can find a namespace folder that contains a list of all the methods and properties contained in the core scripts, and if you look pretty much all of those methods are virtual methods.
What does that mean? That means you can create a new class that contains override methods. What does that mean? That means if a person wanted to change some a few of the methods in the Mobile core script they would only need to create a new class, it could be called Mobile2 or whatever, that is a subclass of the Mobile class, which PlayerMobile and BaseCreature could inherit from, that just conatins the override methods. What does that mean? That means that the the core can be "modified" without having to be changed. Therefore if your new override method causes any problems then they can be reverted back to the old without having to fret over what the original core method actually was.
Also, please leave the Linux/.NET discussion out of this. In case your memories are short, Ryan had recently gotten fed up with the bickering and decided to put the release of RunUO on hold. Now it seems he is back and it should be released soon. Let's not screw that up because people can't be happy with a great product that can be downloaded and used for FREE.