Función jquery deja de funcionar

Estoy aprendiendo php y jquery, el tema es que venía muy bien, haciendo un carrito de productos simple mientras aprendo hasta que hace una semana me topé un problema, y realmente nadie me pudo ayudar hasta ahora, quizás entendiendo el problema podría buscar o cambiar el código.
Estoy haciendo un altas baja modificación de productos en la misma página, uso php jquery y ajax.
En index.php tengo una tabla que se llena al iniciar con una consulta php y donde las 2 ultimas columnas son links, editar y borrar. Presionando allí, traigo el registro y lo vuelco a un formulario donde puedo editarlo o lo que sea. Hasta ahí todo ok. Como la consulta del inicio me carga "todos" los productos, incluí un select con categorías a los efectos de filtrar. Con el change del select mando la categoría al jquery y este me borra el tbody de la tabla y lo regenera con los productos correspondientes a esa categoría.
Aquí surge el inconveniente ... Con la tabla regenerada ... Los links editar y borrar ( que me debieran traer el producto por su id y llenar los input text de un formulario ) ya no funcionan . Luego de incontables cambios y pruebas ... Llenando de alertas y console.log, encuentro que tras regenerar la tabla la llamada no entra a la función ( ni idea que pasa ..)
Más tarde probé duplicando la función al terminar el bloque $( document )..., puse :
$( document ).ajaxStop(function() {blabla ........ Y la función que es $('a#edit-product').on('click', function(event) y ahi ... Si funciona !

El tema es que este problema me obliga a duplicar cualquier función para que funcione con los productos filtrados, y me agrega un problema nuevo, cuando clickeo en el select 1 vez, entra a ajax. Stop, y en la consola me muestra 1 ( completó la función), clickeo la segunda vez y la consola me muestra 3, clickeo la tercera y me muestra 5 !, en resumen, si alguien me puede ayudar explicando que ocurre y como solucionarlo me volverán las ganas de seguir avanzando ... Me dejó mal no encontrar manera de entender por que ocurre ...
Paso los pastebin del código involucrado :

miscript.js : http://pastebin.com/B72cydHL
index.php : http://pastebin.com/EuLjdnt0

Añade tu respuesta

Haz clic para o