There are those who say that "$ is not a function" almost always occurs from the path to the jQuery core file being incorrect. ;) Maybe there is a subtle spelling mistake in the HTML that links to your new version of jQuery? Something like "jquery.1.2.1.js" instead of "jquery-1.2.1.js"? Quintruple-check that path is my suggestion.
Joel Birch.