No problem. I started programming on a Color Computer 2, and did have 2 68k Macs. One of which is still in my closet, actually. I read a lot of Mac programming books a long time ago, too, which covered the rom on a 68k mac. (Besides having used an emulator named Basilisk II before...).
As far as rom revisions, figure most of them were probably to account for hardware changes, and fix bugs. At a guess, the routines to detect a hard drive probably just were removed on the slim, since they weren't being used. (Couldn't say for sure, though. My ps2 is a fat ps2.)
As far as your path for coding, depends whether you are looking more at coding in general, or emulator coding.
For the latter, you might read this thread. (There's a rather interesting pdf that I linked to on the first page):
http://forums.pcsx2.net/Thread-How-to-write-an-emulator
As far as coding in general, first thing is that the best way to learn coding is by doing it. Books help, but practical experience can't really be beat. I'd say to come up with a few ideas for small programming projects to code. Generally, simple and expandable would be a good way to go. If you start with something really complex, you'll likely end up either abandoning it, or having to rewrite it from the ground up several times as your code improves. (Though that's likely to happen anyways, to some extent, as you get more familiar with your project.)
For example, you could write a program that plays an mp3, then add in a playlist you can play files from and a simple interface, and keep adding features until you get tired of it and/or have a full-featured mp3 player. There are a lot of things you can write. The key is just to do it in small, approachable steps.
Also, find open source programs that interest you, and look at the source code to see how they are written. Tinker with the code, and see if you can improve them or add features. (Though keep in mind that they won't always be good examples of how to code. ^_^). If you are interested in roguelike games at all, Angband's code has been hacked by a million people...
Once you get down one programming language, you may want to learn others. Each programming language has it's own way of approaching things, and that will carry over, to some degree, to the other languages you already know. (The flip side, of course, is that you may end up knowing a bunch of languages, but not being that experienced at any of them. I'm good at that, unfortunately...). Picking up new languages actually gets easier after a few languages, because there are a lot of similarities between them. [I personally like the programming language Ruby, but your mileage may vary.]
There have been a few threads about programming in the Developer and Chatterbox forums, too. Like this one:
http://forums.pcsx2.net/Thread-Envisioning-in-C
You might want to have a few projects going, too, so that if you get burnt out on one, you can switch gears and work on another. That way you don't get rusty. (Though the pitfall there is that you can end up with a dozen unfinished projects sitting on your hard drive.)
I'm sure I'm missing things, but that's what comes to mind at the moment...