Solucionado!!Era por el Closure(funcion sin nombre que se utiliza en PHP(desconocia esto)) que no puede utilizar ningun variable que no le sea pasada mediante USE...
O sea asi:
Código PHP:
Ver original$builder->add('SidArticuloPromocion','entity',
array('class' => 'AcmeDemoBundle:ProArticulo', 'query_builder' => function ($repository) use ($id) {
$qb = $repository->createQueryBuilder('AcmeDemoBundle:ProArticulo');
$qb->add('where', 'AcmeDemoBundle:ProArticulo.cliente = :cliente');
$qb->setParameter('cliente',$id);
return $qb;
},'multiple' => true, 'required' => false,'property' => 'PidArticulo'));
Por si a alguien le sirve!!