While reading up on Lua and trying to see what others have done with it, I am starting to formulate my ideas on how I want the scripting portion of my engine to look. In all reality, I think the overall best thing to do with it is to use it to script my applications - instead of hard coding the app side of the program, I'll be using lua to create objects and have them interact with one another.
This isn't too far from what I do now - my application template basically has an initialize function that creates all of the objects in the scene, and then has an update function to perform the simulation update, game logic, and rendering repeatedly. Finally, a shutdown function deletes the needed things and the app exits. So to update this paradigm, I'm going to be writing glue functions to perform the object creation, some of the update mechanisms, and the shutdown functionality into the lua scripts.
Technically speaking, I wouldn't ever need to recompile the application code - I could just change the scripting side of things to modify the engine functionality that gets used for each app... Ok, that may be a bit optimistic, but there is certainly the possibility of getting there. I still have more work to do on the design, but I'll update once I decide on an implementation.