In the for loop, you need to just use the SetStringItem command for every column except the first one. So instead of "self.list.InsertItem(n, 2, r[2])" it should be self.list.SetStringItem (n, 2, r[2])
Personally, I would use ObjectListView instead of ListCtrl. I wrote up a nice tutorial on using it with SQLAlchemy and SQLite here:
http://www.blog.pythonlibrary.org/2011/11/10/wxpython-and-sqlalchemy-an-intro-to-mvc-and-crud/
That might be helpful to you too.