Mae hágase un volado, monte una maquina virtual con XP y bretea ahí, así no tiene problemas con pascal.
En cuanto a los procedimientos y funciones, primero dime que es lo que tienes que hacer? Así te pueda ayudar mejor con lógica.
Y para dejarlo un poquito mas claro, la diferencia entre procedimiento y función es la siguiente:
Con una función ejecutas lo que quieras y al final esa función te va a devolver un valor que es lo que necesitas para seguir usando en el código principal, por ejemplo una función que se llame ObtenerNombreMes, le envías un numero, la función se encarga de encontrar el nombre del mes basado en el numero que le envías y al final te devuelve la palabra o nombre del mes.
Con un procedimiento es como una parte del código principal donde puedes ejecutar algo que lo puedes reutilizar en el resto de código, por ejemplo un procedimiento que envíe un correo, podría ser que necesites enviar un correo en algún momento entonces para no estar escribiendo siempre el código que envía correos nada mas llamas el procedimiento y él se encargara de hacerlo, digamos que funciona para reutilización de código, para no hacer tan grande el código principal y para tener más ordenado tu código fuente.