Is debugging a waste of time?You have the luxury of non-business-critical bugs. Today I spent over an hour debugging an issue that got worse and worse as the day went on and it was critical to the business. That sort of thing isn't a waste of time at all.

How do programming languages define functions?In the past I have stored them all inline within my tokens and function calls are just jumps to a specific offset (much like labels in Assembly). Are you tokenizing the script? Or parsing strings each time?

NHibernate and complex domain model against a legacy databaseYes OP. Go tell your boss that you refuse to re-write this application because "someone else did a good job".... This doesn't answer the question. There are plenty of reasons why a business would want to move business logic out of a database. In fact, where I work right now it is an accepted general rule that databases work on data.. and code performs the business logic.

How to evaluate moving to Team Foundation ServerI moved from a company on git to a company with TFS 2008 and it is incredibly painful. I hear 2012 is much nicer.. but we aren't in a position to upgrade at the moment. As it currently is though... I would kill to go back to git :(