How to run a Drush command in interactive mode
The 'interactive' flag in Drush backend invoke is only used when Drush is going to programatically call another Drush command.  In this instance, the interactive flag tells Drush to call the subcommand in a way that will allow user input.

The issue you reference above (drupal.org/node/1058874) is now standard in Drush 5. If you upgrade, you should find that Drush does a better job at showing incremental progress in some situations. Of course, there are also still some commands where Drush must first compose all of the output, then format it in a table, then output it.  In these cases, the output will always be buffered.