Just tested. (with fpc 3.0.4)
It actually is a problem in the compiler. The generated DWARF info is incorrect.
Local variables are encoded relative to the StackBasePointer.
FPC repeats the literal dwarf info of ProcedureAVariable. But since ProcedureAVariable is only correct when in the outer procedure, the literal copy is incorrect when in the nested procedure.