Sachverhalt: A. Mit Verfügung vom 15. Dezember 1997 sprach die IV-Stelle Solothurn dem 1976 geborenen B._ ab 1. August 1997 eine ganze Invalidenrente bei einem Invaliditätsgrad von 90 % zu, nachdem sie bereits früher für berufliche und medizinische Massnahmen aufgekommen war. Infolge Anstellung von B._ bei einer Bäckerei setzte die IV-Stelle ab 1. Mai 1998 die ganze auf eine halbe Rente herab (Verfügung vom 17. April 1998). Im Juni 2006 leitete die Verwaltung erneut ein Revisionsverfahren ein. Am 22. Juni 2006 teilte B._ mit, dass er zur Zeit eine Umschulung zum Bestatter mache und der Gesundheitszustand gleich geblieben sei. Nachdem vom Vater als Arbeitgeber des Versicherten trotz mehreren Aufforderungen keine Auskünfte erhältlich waren, holte die IV-Stelle den Auszug aus dem individuellen Konto vom 3. Juni 2008 ein. Am 16. Oktober 2008 forderte sie B._ auf, ihr diverse Unterlagen zuzustellen, die er am 30. Oktober 2008 einreichte. Mit Vorbescheid vom 15. Mai 2009 stellte die IV-Stelle B._ die rückwirkende Aufhebung der Rente ab 1. September 1999 sowie die Rückforderung der in dieser Zeit bezogenen Leistungen in Aussicht. Am 26. Juni 2009 erliess sie die Verfügung betreffend die Aufhebung der Invalidenrente und am 30. Juni 2009 jene betreffend die Rückforderung von Fr. 43'680.-. B. B._ liess gegen die Verfügungen vom 26. und 30. Juni 2009 Beschwerde erheben. Nachdem das Versicherungsgericht des Kantons Solothurn in Nachachtung des Urteils 8C_504/2010 vom 2. Februar 2011 am 5. Januar 2012 eine Instruktionsverhandlung mit Parteibefragung und mündlichem Parteivortrag durchgeführt hatte, hiess es die Beschwerde mit Entscheid vom 31. Januar 2012 teilweise gut und änderte die Verfügung vom 30. Juni 2009 dahingehend ab, dass es den Betrag der Rückforderung auf Fr. 37'646.- herabsetzte. Die weitergehende Beschwerde wies es ab, soweit es darauf eintrat. C. Mit Beschwerde in öffentlich-rechtlichen Angelegenheiten lässt B._ beantragen, der Entscheid vom 31. Januar 2012 sei aufzuheben und es sei festzustellen, dass für die nach der Meldung vom 22. Juni 2006 bezogenen Renten keine Rückerstattungspflicht bestehe resp. die nach diesem Zeitpunkt bezogenen Renten nicht rückerstattungspflichtig seien, und dass sämtliche allfälligen Rückforderungsansprüche (vor und nach dem 27. Juni 2006) bereits verwirkt seien und der Vorbescheid vom 15. Mai 2009 als verspätet zu betrachten und daher nicht geeignet sei, den Lauf der Verwirkungsfrist zu unterbrechen. Die IV-Stelle und das Bundesamt für Sozialversicherungen verzichten auf eine Stellungnahme. Das kantonale Gericht beantragt die Abweisung der Beschwerde. Dazu lässt B._ in einer weiteren Eingabe Stellung nehmen. D. Mit Verfügung vom 2. Juli 2012 ist der Beschwerde die aufschiebende Wirkung zuerkannt worden. 