The listbrowser problem is easy... before adding the new line of text, query it to see if the last item is visible. If it is not, add the new one but don't update its position. If it is, add the new line and make it visible.
But since you already had a Reaction GUI, it might have been a nice idea to seperate the GUI component from the IRC and networking code, so the same backend could be used with either RA or MUI...