I have run some Delphi Win32 Apps on a Pi using Exagear Desktop and Wine. In some of them I couldn't get the sound working (AFAIK it depends on the exact VCL/CLX sound components the authors have used). The problem is that Exagear Desktop is discontinued and not sold anymore, so if you don't have it you won't get it now.
AFAIK the most prominent option now ...
Raspberry Pi use ARM-type processors and in general you should understand that x86 and arm instructions are have a lot of architecture differences. ARM is RISC and x86 is CISC architectures so there could be some race conditions due to another way of parallelization of instructions as well as memory protection and management. From your input the app is built ...
One obvious reason is that raspi3 will load the kernel at the 0x80000 address, which is dedicated to the 64-bit kernel. If you load a 32-bit kernel at that address, it will fail to run because the absolute address values of all relative offsets will be wrong. The difference can be seen in "arm/raspi.c" file:
#define FIRMWARE_ADDR_2 0x8000 /* Pi 2 loads ...
Late to the party, however I think I have solution for you.
As Ingo mentioned, in this tutorial custom image is used for emulation. However it does not mean you can't emulate official one like raspbian-buster-lite image. This image also contains all necessary files for QEMU emulation, however they are named differently. Also you can only emulate this kernel ...
In retrospect, this was a dumb question - trying to run an embedded Raspberry Pi OS on QEMU is not supported. Those who run Raspbian on QEMU use a custom kernel specifically designed for QEMU.
The reason I was doing this is because the serial and HDMI adapters I ordered for my Pi are still in the mail (any month now).
There's a silver lining - I just ...
I share my updated version of the script for Raspbian-buster-lite guest on Ubuntu host.
QEMU=$(command -v qemu-system-arm)