Si entiendo el mensaje de error lo extraño es que cuando cambio esta linea deja de mostrarse el error
Código PHP:
Ver original$result = $query_registrar->fetch(PDO::FETCH_ASSOC);
//cuando la cambio ha
$result = $query_registrar->fetchAll(PDO::FETCH_ASSOC);
// que segun la documentacion me devuelve un array y en efecto eso es pero tendira que pasarlo por un while o foreach para recuperar solo el valor de la insercion del SP
es por tal motivo que postee el problema