Forcing draw_if_interactive() to bring up new window...

I have functions which plot multiple items to an axis. Often, I have
the function explicitly turn interactive mode off and then I turn it
back on to what it was before my function was called. At the end of
my function, I call draw_if_interactive().

Suppose the user had interactive mode on prior to the function call.
The problem I am having is that draw_if_interactive() seems to have no
effect---no figure is drawn unless the user makes a subsequent call to
show(). Is there a way around this?