Напишите обертку для live (какую-нибудь jQuery.fn.my_live), которая с помощью data() добавляет в объект пометку о навешенном обработчике, а затем вызывает live. И по всему коду замените live на my_live. В дальнейшем с помощью data ищете в объекте пометку: если ее нет, значит, обработчика нет.
мимо. Live предназначен в первую очередь для того чтобы работать на динамически добавленных элементах — и на таких элементах не будет вашей пометки о навешенном обработчике.
Внутрях есть массив обработчиков: handlers называется. МОжно по коду поискать. Его вроде достать можно через data(«events»). Так соответственно и принимается решение о наличии обработчиков.