There are some reports about stepping in 64bit windows not always working as expected. It is unclear where this arises, but could be between fpc and gdb. (and may be dwarf related).
As for stackframes....
1) Make sure ALL units are compiled with either -O- or -O-1
fpc_ansistring_assign may have optimization, though if PRHighlighToken and ALL its callers have no optimization it should still be ok...
Make sure you do not use smart linking in your project.
Not sure, I dont think inlining is an issue here, but you may but a {$Inline off} in the unit in question. (though probably not the issue)
2) Try dwarf vs stabs
Make sure ALL packages use the same. Mixing them is no good.
Use "Additions and overrides"
3) Try the external linker -Xe