I got it working.
The project is from 2013, so I deleted and rebuilt the whole project.
The blue dots were missing, this was solved by setting Debug Symbols explicitely to "Dwarf with sets".
Then it stopped at the breakpoint and in the disassembly I could see, after building the parameter list it calls "SendMessageTimeout" (which is in a windows DLL) directly.
The problem with confusing compiler error messages is: The compiler does not necessarily compile this prototype declaration that is found by searching the declaration of "SendMessageTimeout" in the editor (which uses Codetools so far I know).
It must be added, M$ Windows declares Param No. 7 as "PDWORD_PTR"
"DWORD_PTR" is according to
https://docs.microsoft.com/de-de/windows/win32/winprog/windows-data-types?redirectedfrom=MSDN a parameter that is DWORD in 32 Bit WIndows and is expanded to 64 Bit in 64 Bit Windows, so it is always Pointer size, and "PDWORD_PTR" is a pointer to this pointer sized type.
Therefore "@MessageRes" should be always correct in 64 and 32 B´bit, if it points to a pointer sized variable (which is unused by the program, but possibly written by Windows, so the type doesnt matter, only size (and possibly alignment) matters in this case
)
However if this is used, the prototype proposed by codetools cannot be used by the compiler, so it
must use another prototype which matches and compiles.
BTW, the progam works fine in 32 bit and is not performance critical, so 32 bit is fine, but 64 bit might be needed if snippets of the program are used in 64 bit projects.