I am not sure if I am using reset() correctly, but I tried putting them in my code, specifically in the while(1) loop, as shown here:

Code:
...

while(1)
		{
			
			
			if(mouse_left && (mouse_pos.x > 377) && (mouse_pos.x < 602) && (mouse_pos.y > 456) && (mouse_pos.y < 474))
			{
				reset(talk_panel_0,SHOW);
  				reset(talk_panel_1,SHOW);	
				
				statement = str_create("I am very well.  Would you like to buy a potion?");
				reply_1 = str_create("           Yes, I would.");
  				reply_2 = str_create("           No thank you.");
  				reply_3 = str_create("           (Ignore)");
				
				pan_setstring(talk_panel_0,0,300,400,talk_font1,statement);
				pan_setstring(talk_panel_1,0,300,450,talk_font2,reply_1);
  				pan_setstring(talk_panel_1,0,300,500,talk_font2,reply_2);
  				pan_setstring(talk_panel_1,0,300,550,talk_font2,reply_3);
  			
  				wait(13);
  				set(talk_panel_0,SHOW);
  				wait(120);
  				set(talk_panel_1,SHOW);
  			}
  			wait(1);
  		}

...


All the resets seem to do is restart the SHOW process for the panels (causing the strings to blink for a second from only showing the first set of strings, to showing the first and second sets of strings simultaneously), but it is not erasing the last set of strings. It still only overlays the second set of strings over the first set of strings, so they look all jumbled up.