Faits:
A. A._, né en 1962, a travaillé en qualité de cuisinier. Souffrant de lombosciatalgies persistantes, il a bénéficié de mesures de réadaptation d'ordre professionnel en 1998 (organisées conjointement par l'assurance-invalidité et l'assurance-militaire). Ultérieurement, l'Office cantonal de l'assurance-invalidité du canton de Genève (l'office AI) a refusé de prendre en charge de nouvelles mesures (décisions des 4 novembre 2003 et 25 janvier 2005).
Le 12 août 2005, A._ a déposé une nouvelle demande de prestations. L'office AI a refusé d'entrer en matière sur la demande, par décision du 11 avril 2006. Considérant que ce refus était infondé, l'assuré a formé opposition, le 22 mai 2006, en requérant par ailleurs la reconsidération de la décision rendue en 2003. Par décision du 7 juillet 2006, l'office AI a rejeté l'opposition et confirmé le refus d'entrer en matière; il a par ailleurs rejeté la demande de reconsidération au motif que la décision initiale n'était pas manifestement erronée.
B. A._ a déféré cette décision au Tribunal cantonal des assurances sociales du canton de Genève en concluant à son annulation. A titre principal, il a demandé aux premiers juges de reconsidérer la décision du 4 novembre 2003 et de lui allouer une rente entière d'invalidité depuis le 1er septembre 1996; subsidiairement, il a conclu à l'octroi d'une rente entière à compter du 1er mai 2006, par voie de révision.
Par jugement du 30 mai 2007, la juridiction cantonale a annulé la décision du 11 avril 2006 ainsi que celle du 7 juillet 2006 en tant qu'elle confirmait la non-entrée en matière sur la nouvelle demande de prestations, puis renvoyé la cause à l'administration. En revanche, le tribunal a confirmé la décision du 7 juillet 2006 dans la mesure où l'office AI avait refusé de reconsidérer sa décision passée en force du 4 novembre 2003.
C. A._ interjette un recours en matière de droit public contre ce jugement dont il demande l'annulation dans la mesure où ses conclusions tendant à l'octroi d'une rente entière d'invalidité à compter du 1er septembre 1996 ont été rejetées. Il invite le Tribunal fédéral à statuer sur reconsidération et à lui allouer une rente entière depuis le 1er septembre 1997. Le recourant sollicite par ailleurs le bénéfice de l'assistance judiciaire, alternativement l'octroi de dépens.
L'intimé et l'Office fédéral des assurances sociales ont renoncé à se déterminer.

Considérant en droit:
1. Conformément à un principe général du droit des assurances sociales, l'administration (ou l'assureur) peut reconsidérer une décision formellement passée en force de chose jugée et sur laquelle une autorité judiciaire ne s'est pas prononcée quant au fond, à condition qu'elle soit sans nul doute erronée et que sa rectification revête une importance notable (<ref-ruling> consid. 2c p. 469 et les références). Pour juger du bien-fondé d'une reconsidération, il faut se fonder sur la situation juridique existant au moment où la décision initiale a été rendue, compte tenu de la pratique en vigueur à l'époque (<ref-ruling> consid. 3 pp. 389 ss et les références).
De jurisprudence constante, l'administration n'est pas tenue de reconsidérer les décisions; elle en a simplement la faculté et ni l'assuré ni le juge ne peuvent l'y contraindre (<ref-ruling> consid. 2a p. 12 et les références). Il n'existe ainsi pas de droit à la reconsidération que l'assuré pourrait déduire en justice. Cependant, lorsque l'administration entre en matière sur une demande de reconsidération et examine si les conditions d'une reconsidération sont remplies, avant de statuer au fond par une nouvelle décision de refus, celle-ci est susceptible d'être attaquée par la voie d'un recours. Le contrôle juridictionnel dans la procédure de recours subséquente se limite alors au point de savoir si les conditions d'une reconsidération (inexactitude manifeste de la décision initiale et importance notable de la rectification) sont réunies (<ref-ruling> consid. 2a p. 13, 116 V 62; Meyer-Blaser, Die Bedeutung von Art. 4 Bundesverfassung für das Sozialversicherungsrecht, RDS 111 [1992] II 443 sv.). L'introduction de la LPGA n'a rien changé à cet égard. Le législateur, qui n'a pas voulu déroger à ces principes, n'a fait que codifier cette pratique jurisprudentielle (voir notamment Ueli Kieser, ATSG-Kommentar, Zurich 2003, note 22 ad art. 53; FF 1991 II 258).
2. Le recourant soutient que l'intimé était entré en matière sur sa demande de reconsidération en examinant si les conditions en étaient réalisées. Il fait dès lors grief aux juges cantonaux de n'avoir pas abordé les conclusions qu'il avait prises à ce titre (allégué n° 18).
3. Dans sa décision sur opposition du 7 juillet 2006, l'intimé a pris position en ces termes sur la demande de reconsidération au sens de l'<ref-law> :
(...) Dans le cas particulier, la décision du 4 novembre 2003 a été émise après tentative de mesures professionnelles et sur la base d'une expertise pluridisciplinaire analysée par le SMR. Une comparaison des gains, conforme à l'exigibilité retenue par ce service, a été opérée dans le strict respect de la jurisprudence fédérale applicable.
Dès lors, notre Office ne saurait qualifier sa décision susmentionnée - au demeurant entrée en force - de manifestement erronée en vertu de l'<ref-law> et ne procédera dès lors pas à sa reconsidération.
Nonobstant la teneur de cette dernière phrase, on doit admettre que l'administration a examiné, certes sommairement, la demande de reconsidération que le recourant lui avait soumise le 22 mai 2006. Cet examen l'a conduite à nier que les conditions d'une reconsidération fussent remplies, car le refus procédait selon elle d'une application correcte du droit fédéral. En vertu des principes qui viennent d'être rappelés ci-avant au consid. 1 (<ref-ruling> consid. 2a p. 13, 116 V 62), le refus signifié était dès lors susceptible d'être attaqué par la voie d'un recours, si bien que le contrôle juridictionnel dans la procédure de recours subséquente aurait dû porter sur le point de savoir si les conditions d'une reconsidération (inexactitude manifeste de la décision initiale et importance notable de la rectification) étaient réalisées.
Sur cette question, le jugement attaqué (consid. 7 in fine, p. 10) est contraire au droit fédéral; à défaut de constatation sur les éléments de fait déterminant à laquelle il ne peut être suppléé d'office, celui-ci doit être annulé, la cause étant renvoyée aux premiers juges afin qu'ils examinent si les conditions d'une reconsidération de la décision du 4 novembre 2003 (inexactitude manifeste de la décision initiale et importance notable de la rectification) étaient ou non réunies, ainsi que les suites que cela entraîne au plan de la procédure cantonale.
4. L'intimé, qui succombe, supportera les frais judiciaires (<ref-law>).
Pour le même motif, il est redevable d'une indemnité de dépens au recourant (<ref-law>). La demande d'assistance judiciaire n'a dès lors plus d'objet.

Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est admis en ce sens que les chiffres 2, 5 et 6 du jugement du Tribunal cantonal des assurances sociales du canton de Genève du 30 mai 2007 sont annulés, cette autorité étant invitée à procéder conformément aux considérants.
2. Les frais judiciaires, arrêtés à 500 fr., sont mis à la charge de l'intimé.
3. L'intimé versera une indemnité de dépens de 2'500 fr. (y compris la taxe à la valeur ajoutée) au recourant pour la procédure fédérale.
4. Le présent arrêt est communiqué aux parties, au Tribunal cantonal des assurances sociales de la République et Canton de Genève et à l'Office fédéral des assurances sociales.
Lucerne, le 10 juillet 2008
Au nom de la IIe Cour de droit social
du Tribunal fédéral suisse
Le Président: Le Greffier:
Meyer Berthoud