Machine code can be translated into Assembly code (disassembler), from there you can create high level pseudo code (decompilers). Probably the most famous one is Hex-Rays in IDA Pro. Other notables are Snowman (think its also in Ghidra and an option for IDA Pro), Reko, and RetDec. The quality of the pseudo code (in pseudo C) is the subject of lots of debate, but it can give an idea of how the original source code works. We have to also keep in mind that such tools are slowly improving. How useful this "kind of useful" information is, most likely depends on how much an expert the person is.
In regards to Object Pascal, the decompilers that I've seen on the web were mainly targeting Delphi. Revendepro, DeDe, etc... They all look old. Haven't seen anything specifically for FPC, though clearly if a concerted effort was made, it could be done. Probably the most obvious thing that shows up with FPC, with something simple like Resource Hacker or similar are .lfm (TForm) data. Then the next common thing is "string hunting". You could use the well known decompilers on FPC executables, but then how useful psuedo C code is going to be in comparison to the actual source is doubtful. Then add various optimizations into the mix, yet more doubtful.
Usually obfuscation is necessary for the scripting and interpreted languages, like JavaScript or C#. Compiled languages are a higher step in difficulty. There are people that are really good at reading Assembly (disassembler output). It's just that its troublesome for most, so the numbers of programmers interested in and good at reading it are few. Regular people, users, and customers are not about that life, which is the realm of those into cracking, criminals, professionals, or security. Those that are hardcore into cracking, will usually not be customers and nearly nothing will deter them because they are getting off on the challenge. If any deterrent can work on those types, it's likely the legal route, like notifying ISPs, suing over copyright and trademark violations, etc...