Hola DarkByte
Todo depende de qué numero cojas como referencia. Es decir, no es lo mismo el % de A sobre B que el % de B sobre A.
En tu ejemplo, 25 es el 25% de 100 si el valor base es 100, pero si es al rebés, que el valor base es el 25, resulta que 100 es el 400% de 25
Respecto al error que te da, seguramente será porque estas asignando el resultado de esa operación a una varable de tipo Integer, cuando el resultado de la operaicón / es un real. Cambia la definición de la variable o el operador (a div)