Faits:
A. T._, sans formation professionnelle, a travaillé en qualité d'aide de cuisine. Le 11 septembre 1997, elle a été victime d'un accident de la circulation qui a entraîné une fracture comminutive ouverte du pilon tibial droit. L'assureur LAA, qui avait pris le cas en charge, a mis fin au versement de ses prestations à compter du 1er avril 2003; la perte de gain imputable aux suites de l'accident a été fixée à 4 % et l'atteinte à l'intégrité à 30 % (cf. arrêt du Tribunal fédéral des assurances du 10 avril 2006, U 12/05). De son côté, l'Office de l'assurance-invalidité du canton de Genève (l'office AI) a alloué une demi-rente d'invalidité à partir du 1er septembre 1998, puis une rente entière à compter du 1er avril 1999, (décisions du 15 juin 1999), laquelle a été maintenue par décision du 16 mai 2002.
Dans le cadre de la révision du droit à la rente de l'AI, initiée en 2000, l'office AI a recueilli notamment l'avis du docteur V._, spécialiste en chirurgie orthopédique (rapports des 27 juin et 11 décembre 2001), ainsi que celui du Centre X._ où l'assurée avait suivi un stage d'observation professionnelle du 4 mars au 28 avril 2002 (rapport de synthèse du directeur du Centre X._ du 3 juin 2002). Le docteur V._ a attesté « qu'à l'établi ou dans une usine d'horlogerie, si les pièces sont devant elle et qu'elle n'a pas besoin de trop mobiliser ses épaules, sa capacité de travail devrait être proche de 100 % » (rapport du 11 décembre 2001). De son côté, le directeur du Centre X._ a indiqué que l'assurée avait une capacité résiduelle de travail de 60 % (rendement de 60 % sur un plein temps), dans un emploi simple et léger, en privilégiant la position assise avec une possibilité d'alternance, ce rendement étant exigible après une période d'adaptation (rapport du 3 juin 2002).
Par décision du 28 juin 2002, l'office AI a pris en charge un nouveau stage d'observation professionnelle, qui devait se dérouler du 12 août au 12 décembre 2002. Alléguant notamment qu'elle était totalement invalide, l'assurée s'y est opposée et a déféré cette décision à l'ancienne Commission cantonale genevoise de recours en matière d'AVS/AI (aujourd'hui : Tribunal cantonal des assurances sociales de la République et canton de Genève), qui l'a déboutée par jugement du 30 juin 2004. Saisi à son tour, le Tribunal fédéral des assurances a réformé ce jugement en ce sens que le recours cantonal a été déclaré irrecevable (arrêt du 14 novembre 2005, I 508/04).
Par décision du 2 septembre 2004, frappée d'opposition, l'office AI a fixé le taux d'invalidité de l'assurée à 41 % et a réduit en conséquence la rente à un quart de rente; il a précisé que cette décision était rendue au regard des conclusions du rapport du COPAI, en raison du refus de l'assurée de se soumettre à la mesure qui avait été ordonnée le 28 juin 2002. Le retrait de l'effet suspensif à l'opposition, prononcé par l'office AI, a été confirmé successivement par le Tribunal cantonal et le Tribunal fédéral des assurances (arrêt du 14 novembre 2005, I 63/05).
Par décision du 22 mai 2006, l'office AI a rejeté l'opposition; à cette occasion, il a aussi réformé sa décision du 2 septembre 2004 au détriment de l'assurée en supprimant la rente, après avoir fixé le taux d'invalidité à 36 %.
B. T._ a recouru contre cette décision devant le Tribunal cantonal des assurances sociales, en concluant principalement à l'octroi d'une rente entière d'invalidité, subsidiairement au renvoi de la cause à l'office AI pour instruction complémentaire.
Le Tribunal cantonal a rejeté le recours par jugement du 16 août 2007.
C. T._ interjette un recours en matière de droit public contre ce jugement dont elle demande l'annulation, avec suite de frais et dépens, en reprenant ses conclusions formées en première instance.
L'intimé et l'Office fédéral des assurances sociales n'ont pas été invités à se déterminer.

Considérant en droit:
1. Le litige porte sur le maintien du droit de la recourante à la rente entière d'invalidité dont elle bénéficiait depuis le 1er avril 1999.
2. A l'appui de ses conclusions, la recourante soulève trois griefs à l'encontre du jugement du 16 août 2007.
2.1 En premier lieu, elle soutient qu'il n'existait aucun motif, au sens de l'art. 53 LPGA, de reconsidérer la décision initiale de rente qui avait été rendue le 15 juin 1999 et confirmée le 16 mai 2002.
Contrairement à ce que soutient la recourante, la suppression de la rente d'invalidité dont elle bénéficiait ne résulte pas d'une reconsidération de la décision initiale du 15 juin 1999, mais procède d'une révision du droit à cette prestation, justifiée par un changement de circonstances. La décision du 2 septembre 2004 l'indique clairement en faisant mention de l'art. 88a al. 1 RAI. Quant à la décision du 16 mai 2002, elle n'a rien modifié par rapport à la décision initiale, si ce n'est le montant mensuel de la rente, de sorte qu'elle n'a aucune incidence pour apprécier le changement des circonstances dans le cadre d'une révision. Sont seules décisives, en l'espèce, les situations de fait qui prévalaient au 15 juin 1999 et au 22 mai 2006.
2.2 La recourante estime ensuite que l'instruction de son dossier a été lacunaire, aussi bien par l'administration (art. 43 LPGA) que par les premiers juges (art. 61 let. c LPGA). En particulier, elle reproche à ces derniers d'avoir admis à tort que son état de santé se serait notablement amélioré entre 1999 et 2006. A cet égard, la recourante est d'avis que le docteur V._ ne s'était exprimé en que sur l'incidence de l'atteinte accidentelle à la cheville, et que son appréciation ne tenait pas compte des affections qui ne relèvent que de l'AI. Elle en déduit que le Tribunal cantonal aurait dû ordonner une expertise médicale, ainsi qu'elle l'avait requis.
Ce grief est également infondé. En effet, dans son rapport du 11 décembre 2001, le docteur V._ avait attesté que la capacité de travail de la recourante était proche de 100 % dans une activité qui ne mobiliserait pas trop les épaules, tandis que l'atteinte à la cheville était désormais entièrement compatible avec un emploi d'ouvrière en horlogerie ou de caissière. Quant à la valeur probante de ce rapport et de celui du 27 juin 2001, que les premiers juges ont reconnue à juste titre (voir les réquisits jurisprudentiels rappelés dans l'<ref-ruling> consid. 3a p. 352), elle n'est pas affectée par le temps qui s'est écoulé entre l'époque où ils ont été établis et celle où la décision sur opposition a été rendue. La recourante ne saurait du reste tirer profit de la durée de la procédure qu'elle a engendrée par les recours successifs interjetés inutilement (voir les trois arrêts fédéraux précités).
A la fin de l'année 2001, la capacité de travail de la recourante dans un emploi adapté ressortait clairement d'un rapport d'expertise médicale qui avait force probante et qui n'avait pas été contredit par une autre appréciation médicale pertinente. Il s'ensuit que la juridiction cantonale n'a pas constaté les faits déterminants en violation du droit ou de règles essentielles de procédure, en retenant que les circonstances s'étaient notablement modifiées entre la décision de rente du 15 juin 1999 et celle du 22 mai 2006 (consid. 8c p. 15 du jugement attaqué), savoir que la capacité de travail était nulle au moment de l'octroi de la rente alors qu'elle atteignait 80 % lors de l'expertise du 27 juin 2001. Ce constat de fait lie dès lors la Cour de céans (art. 105 al. 1 LTF).
2.3 La recourante se prévaut enfin d'une violation des art. 16 LPGA et 28 LAI.
A nouveau, elle ne saurait être suivie sur ce dernier point. En effet, contrairement à ce qu'elle demande, son taux d'invalidité doit être arrêté en fonction d'une capacité de travail de 80 % au moins dans une activité adaptée (consid. 2.2 supra), et non de 60 %. Quant au bien fondé du calcul proprement dit de l'invalidité auquel l'intimé et les premiers juges sont parvenus (36 %), la recourante ne le remet pas en cause.
3. La recourante, qui succombe, supportera les frais judiciaires (art. 66 al. 1 LTF).

Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté.
2. Les frais judiciaires, arrêtés à 500 fr., sont mis à la charge de la recourante.
3. 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 30 septembre 2008
Au nom de la IIe Cour de droit social
du Tribunal fédéral suisse
Le Président: Le Greffier:
Meyer Berthoud