First of all, I don't use the FP IDE, but I may still have a few hints that may be of interest.
Afaik the FP IDE use gdb (or more to the point libgdb) to do the debugging. So if something hangs gdb, then that may hang the target app (since gdb would not start it, or not continue it, once it stopped for any reason, e.g. breakpoint).
Also, libgdb means its part of the main process, and it may therefore hang the main IDE too. Though I don't know exactly how its integrated.
If it is a gdb issue (including any issue in gdb caused by broken debug info, which FPC sometimes generates) then it may be worth testing for some of those.
1) On Win64 FPC may write some wrong addresses, which leads to incorrect placed breakpoint and crashes of the app (usually breakpoints on the last few lines of a procedure, but in theory: anywhere). That can be remedied by using an external assembler.
2) In general, ensure to compile with -O- (no optimization whatsoever) / Also NO smart linking
3) If the FP IDE gives you the choice, then chose DWARF-2 (you can use -godwarfsets) / Do NOT use DWARF-3 or 4 with gdb.