Veamos.
El fallo no sé a qué se debe, ahora lo compruebo.
En cuanto a Chr, deberías mirar la ayuda Delphi más detenidamente, está bastante clara

.
Chr devuelve el carácter del código ASCII que le indiques. El del cero es 48, y el del 1 es 49, ¿entiendes ahora porqué hago la suma?. Recuerda que resultado es un string.
Al código no le faltaba nada, era una función a la que le pasabas un integer y te devolvía el valor binario en un string. Lo que tú has hecho ha sido adaptar a algún evento (un clic supongo) de un botón de tu programa
Aquí tienes cómo se hace para pasar números con coma flotante a binario (e inversa), pero a mano:
http://es.geocities.com/jeeesusmeeer...o/binario.html
Para las notas, sólo entra en la página de la universidad a la que quieras acceder, y busca un poco.
Salu2.