The local modifier allows the compiler to optimize the function: a local function cannot be in the interface section of a unit: it is always in the implementation section of the unit. From this it follows that the function cannot be exported from a library.
On Linux, the local directive results in some optimizations. On Windows, it has no effect. It was introduced for Kylix compatibility.