Sachverhalt:
A. A.a Mit Verfügung vom 28. Mai 2002 lehnte die IV-Stelle des Kantons St. Gallen den Leistungsanspruch des 1971 geboren T._ ab, was das Versicherungsgericht des Kantons St. Gallen mit Entscheid vom 1. Mai 2003 bestätigte.
A.b Auf eine neue Anmeldung zum Rentenbezug vom 28. Mai 2003 trat die Verwaltung mit Verfügung vom 11. Dezember 2003 und Einspracheentscheid vom 19. März 2004 nicht ein. Die dagegen gerichtete Beschwerde wies das Versicherungsgericht des Kantons St. Gallen mit Entscheid vom 26. August 2004 ab. Das Eidgenössische Versicherungsgericht wies die von T._ erhobene Verwaltungsgerichtsbeschwerde mit Urteil I 781/04 vom 17. Februar 2005 ab.
A.c Mit Verfügung vom 15. August 2005 trat die IV-Stelle auf eine weitere Neuanmeldung vom 20. April 2005 wiederum nicht ein und bestätigte dies mit Einspracheentscheid vom 12. Januar 2006.
A.d Am 12. Januar 2007 erging die dritte Neuanmeldung zum Bezug von IV-Leistungen. Mit Vorbescheid vom 14. Mai 2007 und Verfügung vom 21. Juni 2007 trat die IV-Stelle auch darauf gestützt auf Stellungnahmen des Regionalen Ärztlichen Dienstes nicht ein.
B. Soweit es darauf eintrat, wies das Versicherungsgericht des Kantons St. Gallen die dagegen erhobene Beschwerde mit Entscheid vom 15. September 2008 ab.
C. T._ führt Beschwerde in öffentlich-rechtlichen Angelegenheiten und beantragt, die Sache sei unter Aufhebung des kantonalen Entscheides zur genaueren Abklärung an die IV-Stelle zurückzuweisen; eventualiter habe diese ein Obergutachten zu veranlassen; ferner beantragt er die unentgeltliche Rechtspflege.
Mit Verfügung vom 18. November 2008 weist das Bundesgericht das Gesuch um unentgeltliche Rechtspflege ab.
Erwägungen:
1. Die Beschwerde in öffentlich-rechtlichen Angelegenheiten (Art. 82 ff. BGG) kann wegen Rechtsverletzung gemäss Art. 95 und Art. 96 BGG erhoben werden. Das Bundesgericht legt seinem Urteil den Sachverhalt zugrunde, den die Vorinstanz festgestellt hat (Art. 105 Abs. 1 BGG). Es kann die Sachverhaltsfeststellung der Vorinstanz nur berichtigen oder ergänzen, wenn sie offensichtlich unrichtig ist oder auf einer Rechtsverletzung im Sinne von Art. 95 BGG beruht (Art. 105 Abs. 2 BGG). Diese gesetzliche Kognitionsbeschränkung in tatsächlicher Hinsicht gilt namentlich für die Einschätzung der gesundheitlichen und leistungsmässigen Verhältnisse (Art. 6 ATSG), wie sie sich im revisions- oder neuanmeldungsrechtlich massgeblichen Vergleichszeitraum entwickelt haben (Urteil I 692/06 vom 19. Dezember 2006, E. 3.1).
2. 2.1 Bei der Neuanmeldung eines Leistungsanspruchs (Art. 87 Abs. 4 in Verbindung mit Abs. 3 IVV) ist zeitlicher Ausgangspunkt für die Beurteilung einer anspruchserheblichen Änderung des Invaliditätsgrades die letzte rechtskräftige Verfügung, welche auf einer materiellen Prüfung des Rentenanspruchs mit rechtskonformer Sachverhaltsabklärung, Beweiswürdigung und Durchführung eines Einkommensvergleichs beruht (BGE 133 V 108 E. 5 S. 110 f.).
2.2 Ausgangspunkt für die Beurteilung einer relevanten Sachverhaltsänderung ist somit die Situation, wie sie sich bei Erlass der vom kantonalen Gericht mit Entscheid vom 1. Mai 2003 geschützten Verfügung vom 28. Mai 2002 darstellte, was das kantonale Gericht zu Recht erkannte. Die Vorinstanz hat in diesem Rahmen erwogen, der Beschwerdeführer habe nicht glaubhaft dargelegt, dass sich seit der genannten Verfügung der massgebliche medizinische Sachverhalt in einer für den Rentenanspruch so erheblichen Weise geändert hat, dass die Beschwerdegegnerin auf die am 12. Januar 2007 eingegangene Neuanmeldung hätte eintreten müssen. Der Vergleich der medizinischen Aktenlage vor und nach der ursprünglichen ablehnenden Verfügung vom 28. Mai 2002 ergebe, dass insgesamt keine Anhaltspunkte für eine leistungsrelevante Veränderung der gesundheitlichen Verhältnisse bestünden. Die Befunderhebung und Symptome stimmten überein. Die Selbsteinschätzung des Beschwerdeführers und die sich darauf abstützenden Berichte des Hausarztes Dr. med. W._, Facharzt FMH für Allgemeine Medizin (vom 22. Januar 2007), und des Dr. med A._, Facharzt FMH für Orthopädische Chirurgie und Traumatologie des Bewegungsapparates (vom 23. März 2006), genügten für die Glaubhaftmachung nicht, zumal sich aus den neueren Arztberichten klare Hinweise ergäben, dass sich die gesundheitliche Situation gerade nicht verändert habe.
2.3 Die Vorinstanz hat damit eine neuanmeldungsrechtlich relevante Sachverhaltsfeststellung getroffen, die nach der gesamten Aktenlage weder offensichtlich unrichtig ist noch auf einer Rechtsverletzung beruht, sodass sie für das Bundesgericht verbindlich ist (oben E. 1). Was der Beschwerdeführer dagegen vorbringt, ist unbehelflich. Insbesondere will Dr. med. A._ anlässlich der Kernspintomografie der LWS vom 22. Februar 2006 zwar eine im Vergleich zur Voraufnahme (1999) zunehmende Dehydratation L4/5 festgestellt haben. Die Vorinstanz hat dazu richtig bemerkt, dass der Arzt dabei keine wesentliche Höhenminderung festgestellt hat. Als Hauptproblem hat er die massive Dekonditionierung bezeichnet, welche sich aufgrund eines fehlenden Rumpfmuskeltrainings entwickelt hatte, und der durch regelmässige tägliche Übungen zur Verbesserung der Eigenstabilität des Rückens entgegengewirkt werden könne.
3. Nach dem Gesagten hat die Vorinstanz nicht Bundesrecht verletzt, wenn sie die Ablehnung des erneuten Rentengesuchs bestätigt hat; denn es fehlt an der für den Erfolg einer Neuanmeldung in erster Linie erforderlichen anspruchsrelevanten Verschlechterung der invaliditätsmässigen Verhältnisse seit der letzten rechtskräftigen Ablehnung.
4. Dem Ausgang des Verfahrens entsprechend hat der Beschwerdeführer die Gerichtskosten zu tragen (Art. 66 Abs. 1 BGG).
Demnach erkennt das Bundesgericht:
1. Die Beschwerde wird abgewiesen.
2. Die Gerichtskosten von Fr. 500.- werden dem Beschwerdeführer auferlegt.
3. Dieses Urteil wird den Parteien, dem Versicherungsgericht des Kantons St. Gallen und dem Bundesamt für Sozialversicherungen schriftlich mitgeteilt.
Luzern, 26. Januar 2009
Im Namen der II. sozialrechtlichen Abteilung
des Schweizerischen Bundesgerichts
Der Präsident: Der Gerichtsschreiber:
Meyer Schmutz