Despues de realizar unas pruebas en casa del cliente con los procesos que me estan dan el problema, he podido ver que el problema no viene del 'group by' como me parecia.. la verdad es que el misterio se ha trasladado hacia la inicialización de los datos de la tabla que realizo el 'group by'. Dicha tabla la inicializo con todos los registros de la tabla 'stock' con una unica sentencia 'insert into select' por lo que daba por hecho que estaban todos los registros en la tabla y por eso fallaba el 'group by'. Pero es que era lo logico pensar esto, ya que en esa tabla se realiza la inserción masiva de registros y no hay ningun proceso de eliminación de registros en dicha tabla desde el programa. Ademas he realizado multiples pruebas de inicializar la tabla y siempre coinciden el numero de registros..
Misterio, misterio.....