Lo mas correcto es que cada duda este en un nuevo hilo, esto para facilitar las busquedas
Con respecto a tu segunda consulta, en este caso se trata de una
sugerencia o
hint del compilador, es decir que tu codigo es correcto pero hay algunos matices que quiza quieras revisar.
En particular se trata de que no pudo compilar la funcion
MessageDlg en linea, o como se conocen en ingles
inline. En pocas palabras es una optimizacion que realiza el compilador cuando traduce a codigo maquina. Podes encontrar mas informacion al respecto
aca.
En efecto el compilador te esta diciendo que no pudo aplicar dicha optimizacion porque para hacerlo requiere que la unidad System.UITypes este incluida en la clausula
uses. Asi que tu solucion es correcta, agregas la unidad al
uses y listo