| 
		
			 Цитата: 
		
	 | 
	| 
		не определять в глобальном контексте, а сделать это внутри функции (в данном случае main), которая запуститься как только броузер построит ДОМ ))
	 | 
	
Зачем?
Если определить функции внутри другой функции, то они только в ней видны и будут. Обработчики событий на элементах выполняются в глобальной контексте, и, соответственно, ни о каких stopMove и startMove они знать в принципе не могут.
Так что либо навешивай обработчик программно внутри функции main:
var main = function() {
    "use strict";
    var tmr;
    function stopMove ()    { clearInterval(tmr); }
    function startMove ()   { tmr = setInterval(moveBtn, 24); }
     
    function moveBtn() { //Объявляй уж в одном стиле
        var btn = $("#btn");
        var left = parseInt( btn.css("margin-Left") ) + 1;
        btn.css("margin-Left", left + "px");
    };
    
    $("#btn").on("click", startMove);
};
$(document).ready(main);
Либо объявляй функции глобально.