Hola Andrea,
Una posible causa es que algun desarrollo Z manipula los materiales por medio de funciones, bien sea modificando sus datos, o quizas algun desarrollo que notifica produccion o genera movimientos automaticos te los esta dejando bloqueados..
Mi recomendacion seria que primero cuando te de el error, consultes la SM12, y alli puedes buscar el usuario y ver porque tx esta bloqueando al material, eso para descartar que sea algun desarrollo Z, o realmente hay algun usuario por alguna tx standard lo esta haciendo, te cuento una vez me paso que un usuario siempre consultaba los materiales por la MM02 en lugar de la MM03, y vivia bloqueando materiales toooodo el dia jeje..
Una vez que detectes que te esta bloqueando, si es un Z, apoyate en un ABAP indicandole que incorpore posterior a la BAPI, la funcion BAPI_TRANSACTION_COMMIT, y marque el parametro WAIT, eso deberia dejar en manos de SAP que desbloquee solo la tabla despues de sus actualizaciones, tambien se puede forzar un poco el desbloqueo con funciones como DEQUEUE_EMMARAE, DEQUEUE_MATERIAL_MASTER, DEQUEUE_ALL.... etc..
Espero te sirva de ayuda! Saludos,