A mi me funciona
   
Código HTML:
Ver original- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
-     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
- <html xmlns="http://www.w3.org/1999/xhtml"> 
- <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
- <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"> 
- <script type="text/javascript"> 
- //<![CDATA[ 
- (function($) { 
-    
-   $.fn.countdown = function(toDate, callback) { 
-     var handlers = ['seconds', 'minutes', 'hours', 'days', 'weeks', 'daysLeft']; 
-      
-     function delegate(scope, method) { 
-       return function() { return method.call(scope) } 
-     } 
-      
-     return this.each(function() { 
-       // Convert 
-       if(!(toDate instanceof Date)) { 
-         if(String(toDate).match(/^[0-9]*$/)) { 
-           toDate = new Date(toDate); 
-         } else if( toDate.match(/([0-9]{1,2})\/([0-9]{1,2})\/([0-9]{2,4})\s([0-9]{1,2})\:([0-9]{2})\:([0-9]{2})/) || 
-             toDate.match(/([0-9]{2,4})\/([0-9]{1,2})\/([0-9]{1,2})\s([0-9]{1,2})\:([0-9]{2})\:([0-9]{2})/) 
-             ) { 
-           toDate = new Date(toDate); 
-         } else if(toDate.match(/([0-9]{1,2})\/([0-9]{1,2})\/([0-9]{2,4})/) ||  
-                   toDate.match(/([0-9]{2,4})\/([0-9]{1,2})\/([0-9]{1,2})/) 
-                   ) { 
-           toDate = new Date(toDate) 
-         } else { 
-           throw new Error("Doesn't seen to be a valid date object or string") 
-         } 
-       } 
-        
-       var $this = $(this), 
-           values = {}, 
-           lasting = {}, 
-           interval = $this.data('countdownInterval'), 
-           currentDate = new Date(), 
-           secondsLeft = Math.floor((toDate.valueOf() - currentDate.valueOf()) / 1000); 
-        
-       function triggerEvents() { 
-         // Evaluate if this node is included in the html 
-         if($this.closest('html').length === 0) { 
-           stop(); // Release the memory 
-           dispatchEvent('removed'); 
-           return; 
-         } 
-         // Calculate the time offset 
-         secondsLeft--; 
-         if(secondsLeft < 0) { 
-           secondsLeft = 0; 
-         } 
-         lasting = { 
-           seconds : secondsLeft % 60, 
-           minutes : Math.floor(secondsLeft / 60) % 60, 
-           hours   : Math.floor(secondsLeft / 60 / 60) % 24, 
-           days    : Math.floor(secondsLeft / 60 / 60 / 24), 
-           weeks   : Math.floor(secondsLeft / 60 / 60 / 24 / 7), 
-           daysLeft: Math.floor(secondsLeft / 60 / 60 / 24) % 7 
-         } 
-         for(var i=0; i<handlers.length; i++) { 
-           var eventName = handlers[i]; 
-           if(values[eventName] != lasting[eventName]) { 
-             values[eventName] = lasting[eventName]; 
-             dispatchEvent(eventName); 
-           } 
-         } 
-         if(secondsLeft == 0) {  
-           stop(); 
-           dispatchEvent('finished'); 
-         } 
-       } 
-       triggerEvents(); 
-        
-       function dispatchEvent(eventName) { 
-         var event     = $.Event(eventName); 
-         event.date    = new Date(new Date().valueOf() + secondsLeft); 
-         event.value   = values[eventName] || "0"; 
-         event.toDate  = toDate; 
-         event.lasting = lasting; 
-         switch(eventName) { 
-           case "seconds": 
-           case "minutes": 
-           case "hours": 
-             event.value = event.value < 10 ? '0'+event.value.toString() : event.value.toString(); 
-             break; 
-           default: 
-             if(event.value) { 
-               event.value = event.value.toString(); 
-             } 
-             break; 
-         } 
-         callback.call($this, event); 
-       } 
-        
-       function stop() { 
-         clearInterval(interval); 
-       } 
-   
-       function start() { 
-         $this.data('countdownInterval', setInterval(delegate($this, triggerEvents), 1000)); 
-         interval = $this.data('countdownInterval'); 
-       } 
-        
-       if(interval) stop(); 
-       start(); 
-     }); 
-   } 
- })(jQuery); 
- //]]> 
- <script type="text/javascript"> 
- //<![CDATA[ 
- $(document).ready(function(){ 
-   var d, h, m, s; 
-   $('div#clock').countdown(new Date(2013, 01, 03,20,01), function(event) { 
-     var timeFormat = "%d day(s) %h:%m:%s" 
-         $this = $(this); 
-     switch(event.type) { 
-       case "days": 
-         d = event.value; 
-         break; 
-       case "hours": 
-         h = event.value; 
-         break; 
-       case "minutes": 
-         m = event.value; 
-         break; 
-       case "seconds": 
-         s = event.value; 
-         break; 
-       case "finished": 
-   timeFormat = "tiempo expirado"; 
-         $this.fadeTo('slow', 0.5); 
-         break; 
-     } 
-     // Assemble time format 
-     if(d > 0) { 
-       timeFormat = timeFormat.replace(/\%d/, d); 
-       timeFormat = timeFormat.replace(/\(s\)/, Number(d) == 1 ? '' : 's'); 
-     } else { 
-       timeFormat = timeFormat.replace(/%d day\(s\)/, ''); 
-     } 
-     timeFormat = timeFormat.replace(/\%h/, h); 
-     timeFormat = timeFormat.replace(/\%m/, m); 
-     timeFormat = timeFormat.replace(/\%s/, s); 
-     // Display 
-      
-     $this.html(timeFormat); 
-   
-   }); 
- }); 
- //]]> 
Para tu script Enero = 00, Febrero = 01, etc....
Lo de los milisegundos, no se, no uso esos plugins 
SAludos