No.
 Estoy hablando de la consulta en SQL, que es lo que MySQL recibe.
Más allá de que la creación dinámica de las sentencias puede plantear problemas, la principal fuente de error que veo, luego de estructurar el SQL se ven errores de construcción (simples, pero evidentes):   
Código SQL:
Ver original- SELECT  
-     COUNT(acciones.IdAccion)AS total , 
-     SUM(cursos.precio) AS ventas  
- FROM  
-     accion_alumno, 
-     acciones,  
-     cursos, 
-     alumnos, 
-     clientes, 
-     usuarios  
- WHERE  
-     clientes.IdUsuario=usuarios.IdUsuario  
-     AND clientes.IdCliente=alumnos.IdCliente  
-     AND accion_alumno.IdAlumno=alumnos.IdAlumno  
-     AND accion_alumno.IdAccion=acciones.IdAccion  
-     AND acciones.IdCurso=cursos.IdCurso    
-     AND '$filtros'    -- Esto está mal 
Esto también tiene errores:   
Código SQL:
Ver original- SELECT   
-     cursos.*,  
-     alumnos.nombre,  
-     alumnos.ap1,  
-     alumnos.ap2, 
-     clientes.entidad, 
-     accion_alumno. 
-     *,usuarios.nombre AS com,  
-     clientes.provincia,  
-     acciones.*,  
-     accion_alumno.estado AS estado1, 
-     accion_alumno.regalo AS regalo2, 
-     usuarios.ap1 AS com1 , 
-     usuarios.IdParent, 
-     usuarios.IdPerfil  
- FROM  
-     accion_alumno, 
-     acciones,  
-     cursos, 
-     alumnos, 
-     clientes, 
-     usuarios  
- WHERE      
-     clientes.IdUsuario=usuarios.IdUsuario  
-     AND clientes.IdCliente=alumnos.IdCliente  
-     AND accion_alumno.IdAlumno=alumnos.IdAlumno  
-     AND accion_alumno.IdAccion=acciones.IdAccion  
-     AND acciones.IdCurso=cursos.IdCurso   
-     AND '$filtros'  -- Esto esta mal.  
- ORDER BY '$orden'      -- Esto está mal. 
- LIMIT $reg1,$tampag 
En principio el error que se ve es simple: lo que agregas luego como condiciones adicionales queda encerrado entre apóstrofos y es interpretado por MySQL como una cadena de texto.
Si además de eso, dentro de esa cadena de texto hay apóstrofos, se produce una interrupción multiple de la misma, pudiendo quedar mal construida.
es decir, el resultado podría ser sencillamente algo como:   
Código SQL:
Ver original- AND 'usuario.id='3256' AND alumno.alimno_id='245'' 
Como puedes ver, la estructura SQL queda completamente mal construida. 
Además, estás poniendo entre apostrofos también lo que va en el ORDER BY, lo que s un error, porque esa cláusula espera recibir o nombres de campos, o bien la posicion de la columna a usar de ordenamiento... niguna de las cosa que en realida recibe,. 
Obviamente todo eso sería muy fácil de ver al instante, si al menos hicieras lo que te pedí: Postear la consulta creada por el script y que envías a ejecutar... Cosa que no has hecho.