Un comentario: decir que trabajas con BDE no es decir mucho ya que el bde te sirve para acceder a varios tipos de bases de datos.
Suponiendo que estás trabajando con Paradox, en efecto, no puedes usar condicionales. Pero en el caso particular que quieres puedes lograrlo así:
Código SQL
[-]
select
num, sum((2*cast(tipo as smallint) - 1)*cantidad)
from
tabla
group by
num
El cast convierte el tipo booleano a entero (false->0, true->1) de manera que al multiplicar por 2 y restar 1 obtienes
false -> -1
true -> 1
Éste es el factor que necesitas para
cantidad de manera que obtienes
+cantidad si tipo=true y
-cantidad si tipo=false, que es lo que requieres para sumar o restar según el caso.
Para el otro problema, además de que deberás abrir un nuevo hilo ya que no se relaciona con la primera pregunta, deberás especificar con mayor claridad.
// Saludos