Hmm... only reason I can think of was if you were inserting a very large amount of items in quick succession. And then, only if you hid the control before the first insert and shown it after the last (meanwhile this has the potential to produce a very ugly effect in your application). Hiding and closing with every insert, as you are doing, will actually make the whole insertion process slower.
Anyway, for my main problem, I read somewhere that hiding makes insertion faster, but it didn't change anything. I removed it now.
A wxListCtrl is essentially a container of wxListItem objects. Check this class in the documentation for an idea of what I'm talking about.
What do you mean by completely building my wxListItem object? From what I understand, I'm only inserting it once, and modifying the needed columns after that. How could I completely build it with all the column information and only then insert it?