The main difference between Delphi/Lazarus and classic VB is that in classic VB you can pause the program and run commands in the paused program - i.e. running it in a "half-alive" state, though it wasn't fully editable as many changes requiring restarting.
On the other hand Delphi/Lazarus has a much more capable language and richer set of components (and in Lazarus' case much better support for automatic layouts), which IMO is better overall.
But yeah, in the 90s Lazarus didn't exist (Delphi did though) - IIRC it was made around 2000 or so but it was really janky for most of the 2000s.
Note that Delphi (and Lazarus) is used for a lot more than LoB apps. It was used a lot by shareware developers for example (and some still use it, e.g. IIRC both Beyond Compare and Total Commander still use Delphi - with Lazarus for crossplatform and/or 64bit builds).
I remember not only running commands while debugging. I remember moving the program counter back, until a statement above my breakpoint, making live changes in the code and stepping it again until the breakpoint to see the effects of my changes without needing to restart the program.
Yes, but as i wrote "though it wasn't fully editable as many changes requiring restarting".
FWIW this was actually something you could do in QBasic too.
"pause the program and run commands in the paused program" - that's often possible in Tcl too. There are various ways to interact with a running program, query or modify variables, run commands, load updated code, etc.
Yeah that is what i mentioned with the Visual Tcl bit above but the comparison here was with Delphi/Lazarus.