I think people are talking about two different things in this thread so I'll throw in my 2 cents as usual:
'Procedure or Function definitions can be nested to a level of 32'
That means you can write a procedure or function nested up to 32 levels. Nothing to do with calling. It talks about definition. It's defined at compile time, so to overcome that limit you must recompile FPC.
About calling routines, as long as they are on scope (which usually is not the case for deeply nested routines) there's no problem. About recursion, well I've not hit any limit even when I'm looking at the screen wondering why my program doesn't do anything when in fact it's in an infinite calling recursion loop due to a coding mistake, so for the levels there, as long as you can keep creating stack frames there's no problem.
(Slightly off-topic: I had some writings about how to convert several kinds of recursive algorithms into iterative algorithms, does anyone know a good how-to for Objet Pascal?)