Solo tienes que recorrer al array principal y, en cada iteración, verificar si la propiedad "npiezas" de cada array contenido, tiene como valor cero. De ser así, eliminas al array hijo del array padre a partir del índice que lo identifica en este último.
Código PHP:
Ver originalforeach ($padre as $indice => $hijo){
if (!$hijo['npiezas']) unset($padre[$indice]); }
Un saludo
EDITO: Recién veo que ya te dieron la solución.