To replace the step functionality try something like:
...
IMHO what is important is to point out what is not doable in the manner that s.o. with experience in VB is used to. This could spend beating dead horses. There are many workarounds.
There are some other important issues like array indexing (IFAIR VB6 starts from 1, VB.NET from 0, like Pascal), string handling (functions, unicode, etc). A table with translation of the variables, hints how to enable the console, since Lazarus does not have an immediate panel (yet), etc.
For example, one of the first things a VB or Pascal user should know, starting to code in C is that
myvariable is different from
MYVariable.