I actually did get the normal map texture pipeline straightened out. Multitexturing seems to work OK now, though there are probably some bugs lurking in the darkness.
Things that didn't work today:
The Blender COLLADA exporter seems to have a problem. It insists that my normal map appears in all materials, even those materials with no textures at all. Fortunately I can probably fix it because, Open Source and all, but that's not helping productivity.
Then I ran into some really strange problem with various tools getting deadlocked during the asset build. The shader compiler was getting stuck in fflush(), and a system call to mkdir was hanging as well. My build tool just runs a Python script, which seemed to work from the command line but not from the tool. I'm little confused... it was working just fine, must be a problem with capturing the output? Who knows.
Anyway, I need to stop playing with rendering and do more gameplay. Let's see how much willpower I have. :)