Ich habe den Eindruck, "Real" gibt es nur noch aus Kompatibilitätsgründen.
Wenn ein 64bit Compiler kommt, wird es ganz lustig. Integer und Cardinal sind ja auch nur generische Typen. Da müsste dann laut Definition der Integer von Longint zum Int64 werden. Genau genommen ist Integer zu verwenden also genauso riskant wie Real, außer die Größe des Typen ist nicht wirklich relevant.
Ich nehme gerne Double und Word, nur beim signed nehme ich immer Integer statt LongInt... logisch ist das ja auch nicht. Entweder man nimmt Real, Cardinal und Integer oder gleich Double, LongWord und LongInt.