Sachverhalt:
A. Die 1945 geborene D._, gelernte Schneiderin, arbeitete bis gegen Ende 1994 als Krankenpflegerin in einem Pflegeheim, seither als selbstständige Wirtin. Am 30. Dezember 2005 beantragte sie bei der IV-Stelle des Kantons St. Gallen eine Rente. Die IV-Stelle ermittelte eine 100-prozentige Arbeitsunfähigkeit in der bisherigen Tätigkeit, hingegen eine 50-prozentige Arbeitsfähigkeit in einer angepassten Tätigkeit, ein Invalideneinkommen von Fr. 21'357.- und aufgrund der im Auszug aus den individuellen Konten (IK) ausgewiesenen Einkommen der Jahre 2000-2003 ein Valideneinkommen von Fr. 22'700.-, was einen Invaliditätsgrad von 6 % ergab. Dementsprechend wies sie das Rentengesuch mit Verfügung vom 13. Juni 2006 ab; sie bestätigte dies mit Einspracheentscheid vom 25. Oktober 2006, wobei sie unter Berücksichtigung eines Valideneinkommens von Fr. 24'700.- und eines Invalideneinkommens von Fr. 22'473.- einen Invaliditätsgrad von 9 % bestimmte.
B. Mit Entscheid vom 13. Mai 2008 sprach das Versicherungsgericht des Kantons St. Gallen D._ eine halbe Rente zu.
C. Die IV-Stelle des Kantons St. Gallen erhebt Beschwerde in öffentlich-rechtlichen Angelegenheiten mit dem Antrag, der angefochtene Entscheid sei aufzuheben und der Einspracheentscheid zu bestätigen.
D._ beantragt Abweisung der Beschwerde und Ausrichtung einer ganzen Rente ab 1. Januar 2005. Das Bundesamt für Sozialversicherungen schliesst auf Gutheissung.
Erwägungen:
1. 1.1 Die Vorinstanz hat der Beschwerdegegnerin eine halbe Rente zugesprochen und die Sache zur Festsetzung des Anspruchsbeginns und der Höhe der Rente an die IV-Stelle zurückgewiesen. Die Beschwerde der IV-Stelle ist zulässig, ungeachtet ob der vorinstanzliche Entscheid trotz der teilweisen Rückweisung als Endentscheid (Art. 90 BGG; vgl. Urteil 9C_213/2008 vom 14. August 2008, E. 1) oder als Zwischenentscheid mit einem nicht wieder gutzumachenden Nachteil für die Verwaltung (Art. 93 Abs. 1 lit. a BGG; BGE 133 V 477 E. 5.2.4 S. 484 f.) betrachtet wird.
1.2 Das Beschwerdeverfahren gemäss Art. 90 ff. BGG sieht die Anschlussbeschwerde nicht vor (Meyer, in: Basler Kommentar zum BGG, Basel 2008, N. 4 zu Art. 102). Auf den in der Beschwerdeantwort gestellten Antrag auf Zusprechung einer ganzen Rente ist schon deshalb nicht einzutreten, zumal das Bundesgericht an die Begehren der Parteien gebunden ist (Art. 107 Abs. 1 BGG), worunter der für die Festlegung der Spruchzuständigkeit massgebende Beschwerdeantrag zu verstehen ist (MEYER, a.a.O., N. 2 zu Art. 107).
2. Nach der nicht offensichtlich unrichtigen und für das Bundesgericht daher verbindlichen (Art. 105 Abs. 1 und 2 BGG) Sachverhaltsfeststellung der Vorinstanz ist die Beschwerdegegnerin in angepasster Tätigkeit (unter Vermeidung schwerer Arbeit und des Tragens von Lasten) zu 50 % arbeitsfähig und könnte dabei - berechnet nach Tabellenlöhnen - ein Invalideneinkommen von Fr. 24'560.- erzielen, allenfalls reduziert um einen Abzug von maximal 10 %, was ein Invalideneinkommen von Fr. 22'104.- ergäbe.
3. Umstritten ist die Höhe des massgebenden Valideneinkommens.
3.1 Das Valideneinkommen ist dasjenige Einkommen, das die versicherte Person erzielen könnte, wenn sie nicht invalid geworden wäre (Art. 16 ATSG, Art. 28a Abs. 1 IVG). Für die Ermittlung des Valideneinkommens ist rechtsprechungsgemäss entscheidend, was die versicherte Person im Zeitpunkt des frühestmöglichen Rentenbeginns nach dem Beweisgrad der überwiegenden Wahrscheinlichkeit als Gesunde tatsächlich verdienen würde, und nicht, was sie bestenfalls verdienen könnte (BGE 131 V 51 E. 5.1.2 S. 53; Urteil 9C_488/2008 vom 5. September 2008, E. 6.4). Dabei wird in der Regel am zuletzt erzielten, nötigenfalls der Teuerung und der realen Einkommensentwicklung angepassten Verdienst angeknüpft, da erfahrungsgemäss die bisherige Tätigkeit ohne Gesundheitsschaden fortgesetzt worden wäre. Ausnahmen von diesem Erfahrungssatz müssen mit überwiegender Wahrscheinlichkeit erstellt sein. Bezog eine versicherte Person aus invaliditätsfremden Gründen (z.B. geringe Schulbildung, fehlende berufliche Ausbildung, mangelnde Deutschkenntnisse, beschränkte Anstellungsmöglichkeiten wegen Saisonnierstatus) ein deutlich unterdurchschnittliches Einkommen, ist diesem Umstand bei der Invaliditätsbemessung nach Art. 16 ATSG Rechnung zu tragen, sofern keine Anhaltspunkte dafür bestehen, dass sie sich aus freien Stücken mit einem bescheideneren Einkommensniveau begnügen wollte. Nur dadurch ist der Grundsatz gewahrt, dass die auf invaliditätsfremde Gesichtspunkte zurückzuführenden Lohneinbussen entweder überhaupt nicht oder aber bei beiden Vergleichseinkommen gleichmässig zu berücksichtigen sind. Diese Parallelisierung der Einkommen kann praxisgemäss entweder auf Seiten des Valideneinkommens durch eine entsprechende Heraufsetzung des effektiv erzielten Einkommens oder aber auf Seiten des Invalideneinkommens durch eine entsprechende Herabsetzung des statistischen Wertes erfolgen (BGE 134 V 322 E. 4.1 S. 325 f., mit Hinweisen).
3.2 Die IV-Stelle hat im Einspracheentscheid ausgeführt, die Versicherte habe bis 1994 als Krankenpflegerin gearbeitet und ein Einkommen von deutlich über Fr. 50'000.- erzielt. Sie sei aber danach freiwillig selbstständig erwerbende Wirtin geworden und habe sich aus freien Stücken mit einem deutlich unterdurchschnittlichen Einkommen begnügt. Die IV-Stelle ging dementsprechend von einem Valideneinkommen von Fr. 24'700.- aus, berechnet nach dem Durchschnitt der letzten vier Jahre vor Eintritt des Gesundheitsschadens am 5. Oktober 2004. Die Versicherte hat in der Beschwerde an das kantonale Gericht geltend gemacht, sie habe ihre letzte Stelle als Arbeitnehmerin aus gesundheitlichen Gründen aufgegeben. Die IV-Stelle hat dies unter Hinweis auf einen neu eingeholten Bericht des Hausarztes Dr. med. G._, Facharzt FMH für Innere Medizin, vom 5. Januar 2007, wonach die Notwendigkeit eines Berufswechsels aus medizinischen Gründen nicht nachgewiesen sei, bestritten.
3.3 Die Vorinstanz hat erwogen, anhand der Angaben des Dr. med. G._ vom 5. Januar 2007 sei zwar nicht hinreichend klar, ob die zuletzt ausgeübte Arbeit im Pflegeheim oder eine frühere Tätigkeit die Versicherte medizinisch gesehen überfordert habe; doch lasse sich daraus schliessen, dass sie aus medizinischen Gründen in der Wahl ihrer Erwerbsmöglichkeiten nicht mehr gänzlich uneingeschränkt gewesen sei. Es sei nicht anzunehmen, dass sie sich völlig unabhängig von ihrer gesundheitlichen Situation entschlossen hätte, die Anstellung mit einem Einkommen von rund Fr. 55'000.- aufzugeben und in eine selbstständige Erwerbstätigkeit mit nicht existenzsicherndem Einkommen zu wechseln. Jedenfalls könne nicht davon ausgegangen werden, dass die Versicherte als voll leistungsfähige Person aus freien Stücken in dieser Tätigkeit geblieben wäre. Es könne daher nicht auf das in der Tätigkeit als Wirtin erzielte Einkommen abgestellt werden, sondern es sei von einem Einkommen auszugehen, wie es mit vollem Leistungsvermögen im Angestelltenverhältnis oder in einer durchschnittlich einträglichen Arbeit als selbstständig Erwerbende hätte erreicht werden können. Die Beschwerdeführerin rügt diese Sachverhaltsfeststellung als offensichtlich unrichtig.
3.3.1 Aus dem Bericht des Hausarztes Dr. med. G._ vom 5. Januar 2007 geht hervor, dass dieser der Versicherten bei eher belanglosen Befunden, aber komplexer psychosozialer Situation empfohlen hatte, die damalige Tätigkeit aufzugeben, weil dabei eine Überforderungssituation bestanden habe. Die Annahme der Vorinstanz, die Versicherte habe die damalige Stelle nicht unabhängig von der gesundheitlichen Situation aufgegeben, ist jedenfalls nicht offensichtlich unrichtig.
3.3.2 Hingegen geht aus dem erwähnten Bericht nicht hervor, dass auch für andere Berufe gesundheitliche Einschränkungen bestanden hätten. Im Gegenteil antwortete der Arzt auf die Fragen, was für andere Tätigkeiten zumutbar gewesen wären und ob darin eine verminderte Leistungsfähigkeit bestanden hätte, ausdrücklich, er könne dazu keine Stellung nehmen. Die Vorinstanz hat also ihre Annahme, die Beschwerdegegnerin habe aus gesundheitlichen Gründen nur die wenig einträgliche Tätigkeit als Wirtin ergreifen können und sei aus gesundheitlichen Gründen darin verblieben, nicht auf diesen Bericht stützen können. Sie beruft sich auch nicht auf andere Aktenstücke, welche diese Aussage belegen sollen. Die Annahme kann sich höchstens auf die allgemeine Lebenserfahrung stützen, was als Rechtsfrage vom Bundesgericht frei überprüfbar ist (BGE 132 V 393 E. 3.2 S. 398 f.).
Wenn die Beschwerdegegnerin die Tätigkeit als Krankenpflegerin wegen Überforderung aufgeben musste, bedeutet dies nach allgemeiner Lebenserfahrung noch nicht, dass sie auch in anderen Tätigkeiten aus gesundheitlichen Gründen in ihrer Arbeitsfähigkeit eingeschränkt gewesen wäre. Sie hat sich denn auch erst im Dezember 2005 bei der Invalidenversicherung angemeldet und angegeben, die Behinderung bestehe seit Juni 2004. Aus den Akten sind von 1995 bis ins Jahr 2004 nur temporäre Spitalaufenthalte wegen Struma und Rippenfraktur ersichtlich und jedenfalls keine Arbeitsunfähigkeit wegen der Herzkrankheit, die schliesslich zur teilweisen Arbeitsunfähigkeit geführt hat. In ihrer Einsprache hat die Beschwerdegegnerin ausgeführt, sie habe bisher im Umfang von 20 % administrative Arbeiten ausgeführt, im Umfang von 80 % körperlich stark belastende Arbeit, die ihr jetzt nicht mehr zumutbar sei. Wenn sie somit als Wirtin ein Pensum von 100 %, grösstenteils mit körperlich stark belastender Arbeit ausüben konnte, dann ist nicht einzusehen, weshalb sie nicht auch in einem anderen Beruf eine 100-prozentige Tätigkeit hätte ausüben können, zum Beispiel im erlernten Beruf als Schneiderin, in einem verwandten Beruf oder auch in einer administrativen Tätigkeit, die ihr heute noch zu 50 % zumutbar wäre. Wenn sie stattdessen die wenig einträgliche Tätigkeit als Wirtin gewählt hat, so ist dies offensichtlich aus persönlichen oder wirtschaftlichen Gründen erfolgt, aber nicht infolge gesundheitlicher Einschränkungen, die ihr nur gerade diese Tätigkeit noch ermöglicht hätten. Es kann somit nicht davon ausgegangen werden, das tiefe Einkommen als Wirtin sei bereits auf eine Gesundheitsbeeinträchtigung zurückzuführen.
3.4 In einer alternativen Begründung hat die Vorinstanz erwogen, das bescheidene Einkommen der Versicherten als Wirtin sei nicht darauf zurückzuführen, dass sie ihr Arbeitspensum aus freien Stücken reduziert habe, sondern darauf, dass die Erwerbstätigkeit wirtschaftlich nicht einträglich gewesen sei. Dies sei ein invaliditätsfremder Grund, dem aufgrund der dargelegten Rechtsprechung (E. 3.1) durch eine Einkommensparallelisierung Rechnung zu tragen sei. Dies rechtfertige sich, weil nur die gesundheitsbedingte Einschränkung in der wirtschaftlichen Leistungsfähigkeit die Invalidität ausmache. Invalidität sei die Einschränkung des einem Gesunden zuzuordnenden mutmasslichen Potenzials als Wirtschaftssubjekt auf dem Arbeitsmarkt. Die Entwicklungen im sozialen und wirtschaftlichen Umfeld dürften die Grösse der Invalidität nicht beeinflussen. Werde der Versicherten als invalider Person ein Berufswechsel in eine unselbstständige Erwerbstätigkeit mit Einkommensbemessung anhand der Tabellenlöhne zugemutet, so dürfe ihr die Möglichkeit eines solchen Wechsels auch im hypothetischen Verlauf ohne Gesundheitsschaden nicht vorenthalten werden. Auch ein freiwilliges Nichtausnützen der vollen Arbeitskraft bilde einen invaliditätsfremden Umstand und dürfe nicht invaliditätswirksam sein, da die Invalidität nur von der Einbusse des funktionellen Leistungsvermögens in den Verweisungsberufen abhänge. Würde sich das nicht existenzsichernde oder branchenunterdurchschnittliche Valideneinkommen invaliditätssenkend auswirken, so sei dies mit dem verfassungsmässigen Gleichbehandlungsgebot nicht vereinbar und diskriminierend. Für das Valideneinkommen seien grundsätzlich diejenigen Einnahmen heranzuziehen, die dem gesunden Versicherten zumutbar seien. Vor dem Eintritt des Gesundheitsschadens erzielte unüblich tiefe Löhne seien deshalb grundsätzlich auf ein durchschnittliches Lohnniveau in der entsprechenden beruflichen Situation aufzuwerten. Es sei daher vorliegend auch für das Valideneinkommen auf die Tabellenlöhne abzustellen, was im Ergebnis einen Prozentvergleich erlaube und zu einem Invaliditätsgrad von 50-55 % führe. Beschwerdeführerin und Bundesamt für Sozialversicherungen beanstanden dieses Vorgehen als bundesrechtswidrig.
3.4.1 Die Rente der Invalidenversicherung ist grundsätzlich eine Erwerbsausfall-Versicherungsleistung. Versichert ist nicht der Gesundheitsschaden an sich, sondern der durch den Gesundheitsschaden verursachte Verlust der Erwerbsmöglichkeit (Art. 1a lit. b IVG; Art. 7 Abs. 1, Art. 8 Abs. 1 ATSG). Umgekehrt deckt die Invalidenversicherung nur diejenigen Erwerbsverluste ab, die durch Gesundheitsbeeinträchtigungen verursacht sind, nicht Einbussen, die auf andere Gründe (z.B. wirtschaftliche, persönliche usw.) zurückzuführen sind. Der Invaliditätsgrad wird deshalb bei Erwerbstätigen so bestimmt, dass das Einkommen, welches der Versicherte ohne Gesundheitsbeeinträchtigung erzielen könnte, demjenigen Einkommen gegenübergestellt wird, das er nach Eintritt des Gesundheitsschadens erzielt bzw. bei zumutbarer Tätigkeit erzielen könnte (Art. 16 ATSG; Art. 28a Abs. 1 IVG). Entgegen der Auffassung der Vorinstanz hängt somit die Erwerbsinvalidität nicht von der Einbusse des mutmasslichen Potenzials bzw. des funktionellen Leistungsvermögens als solchem ab, sondern von der effektiven, gesundheitlich bedingten Einbusse im Erwerbseinkommen. Nützte der Versicherte im Gesundheitsfall sein wirtschaftliches Potenzial nicht voll aus, so ist dieser nicht verwertete Teil der Erwerbsfähigkeit nicht versichert (BGE 131 V 51 E. 5.1.2 S. 53, 125 V 146 E. 5b/bb S. 157). Denn wenn jemand vor Eintritt des Gesundheitsschadens aus gesundheitsfremden Gründen nur ein sehr geringes, nicht existenzsicherndes Einkommen erzielt hat und nach Eintritt des Gesundheitsschadens immer noch ein Einkommen in unveränderter Höhe erzielen könnte, so ist nicht der Gesundheitsschaden ursächlich für eine allfällige tatsächliche Einkommenseinbusse (Urteil I 335/04 vom 23. Dezember 2004, E. 3); kausal sind vielmehr die (nicht bei der Invalidenversicherung versicherten) wirtschaftlichen oder persönlichen Umstände, die bereits beim Gesunden die Erzielung eines höheren Einkommens verhindert haben.
3.4.2 Indem das kantonale Gericht das zumutbare Invalideneinkommen einem Einkommen gegenübergestellt hat, das die versicherte Person auch im Gesundheitsfall gar nicht erzielt hätte, hat es für die Invaliditätsbemessung einen invaliditätsfremden Faktor berücksichtigt. Dieses Vorgehen kann dazu führen, dass eine Person als invalid gilt, obwohl sie nach Eintritt der Gesundheitsbeeinträchtigung mehr verdient als sie vorher verdient hat und im Gesundheitsfall weiterhin verdienen würde. Damit wird das im Gesundheitsfall von der versicherten Person zu tragende Risiko einer wirtschaftlich nicht einträglichen Tätigkeit im Falle einer Gesundheitsbeeinträchtigung auf die Invalidenversicherung überwälzt. Dies verstösst gegen die dargelegte gesetzliche Regelung, wonach für die Bestimmung des Invaliditätsgrades nur die durch einen Gesundheitsschaden erlittene Erwerbseinbusse massgeblich ist.
3.4.3 Zu Unrecht hat sich die Vorinstanz auf die Rechtsprechung berufen, wonach invaliditätsfremde Umstände, welche zu einem erheblich unterdurchschnittlichen Valideneinkommen geführt haben, zu einer Einkommensparallelisierung führen (vorne E. 3.1). Denn diese Rechtsprechung will nur sicherstellen, dass die beiden Vergleichseinkommen auf gleichen Grundlagen ermittelt werden; sie ist aber nicht so zu verstehen, dass allen invaliditätsfremden (namentlich auch wirtschaftlichen) Aspekten, die zu einem unterdurchschnittlichen Valideneinkommen geführt haben, ohne weiteres durch Aufrechnung auf ein durchschnittliches Einkommen Rechnung zu tragen wäre. Solches stünde in klarem Widerspruch zu der gesetzlichen Regelung, wonach nur Erwerbseinbussen berücksichtigt werden können, die auf eine Gesundheitsbeeinträchtigung zurückzuführen sind.
Die Grundüberlegung, auf welcher die genannte Rechtsprechung beruht, ist die folgende: Wenn eine versicherte Person in derjenigen Tätigkeit, die sie als Gesunde ausgeführt hat, einen deutlich unterdurchschnittlichen Lohn erzielt, weil ihre persönlichen Eigenschaften (namentlich fehlende Ausbildung oder Sprachkenntnisse, ausländerrechtlicher Status) die Erzielung eines Durchschnittslohnes verunmöglichen, dann ist nicht anzunehmen, dass sie mit einer gesundheitlichen Beeinträchtigung behaftet einen (anteilmässig) durchschnittlichen Lohn erzielen könnte. Stellt man auf ein Valideneinkommen ab, das aus den genannten Gründen deutlich unter den branchenüblichen Ansätzen lag, dann dürfen deshalb diese invaliditätsfremden Faktoren auch bei der Festlegung des zumutbaren Invalidenlohnes nicht ausser Acht gelassen werden (ZAK 1989 S. 456 E. 3b). Die Parallelisierung der Einkommen trägt somit dem Umstand Rechnung, dass die versicherte Person als Invalide realistischerweise nicht den Tabellenlohn erzielen kann, weshalb ein entsprechend tieferes Invalideneinkommen anzunehmen ist (Urteil 9C_488/2008 vom 5. September 2008, E. 6.4, zusammengefasst wiedergegeben in SZS 2008 S. 570; Urteil I 428/04 vom 7. Juni 2006, E. 7.2.2; Urteil I 630/02 vom 5. Dezember 2003, E. 2.2.2). Nun führt es mathematisch zum gleichen Ergebnis, wenn das Invalideneinkommen reduziert, wie wenn das Valideneinkommen entsprechend erhöht wird. Deshalb ist es methodisch auch zulässig, das Valideneinkommen aufzurechnen, anstatt das Invalideneinkommen zu reduzieren (Urteil 9C_488/2008 vom 5. September 2008, E. 6.1). Das ändert aber nichts daran, dass es in Wirklichkeit darum geht, dem Umstand Rechnung zu tragen, dass realistischerweise im Invaliditätsfall nur ein unterdurchschnittliches Invalideneinkommen erzielt werden kann. Die Abwertung des Invalideneinkommens ist entgegen einer im Schrifttum vertretenen Auffassung (HARDY LANDOLT, Invaliditätsbemessung bei Schlechtverdienenden - Ein Methoden- oder auch ein Gerechtigkeitsproblem?, in: Sozialversicherungsrechtstagung 2006, St. Gallen 2006, S. 31 ff., 70 f.) nicht ein Umweg, sondern im Gegenteil der Sinn und Zweck dieser Rechtsprechung. Kann tatsächlich oder zumutbarerweise ein durchschnittliches Invalideneinkommen erzielt werden, dann besteht kein Grund, ein aus wirtschaftlichen Gründen unterdurchschnittliches Valideneinkommen auf ein durchschnittliches hochzurechnen. Denn mit einer solchen Vorgehensweise würden in gesetzwidriger Weise Einkommenseinbussen berücksichtigt, die nicht gesundheitlich bedingt sind. Entsprechend der gesetzlichen Regelung und entgegen der Auffassung der Vorinstanz ist somit das (zumutbare) Invalideneinkommen nicht demjenigen Einkommen gegenüberzustellen, das ohne Gesundheitsbeeinträchtigung bei vollständiger Ausschöpfung des wirtschaftlichen Potenzials zumutbarerweise hätte erzielt werden können, sondern demjenigen, das konkret erzielt worden wäre.
3.4.4 Was an diesem Vorgehen verfassungswidrig oder diskriminierend sein soll, wie die Vorinstanz unter Berufung auf eine Lehrauffassung (HARDY LANDOLT, a.a.O., S. 56, 74 ff.) meint, ist nicht ersichtlich. Sachlich ungerechtfertigt wäre nur, ein deutlich unterdurchschnittliches Valideneinkommen einem durchschnittlichen Invalideneinkommen gegenüberzustellen, von dem realistischerweise nicht angenommen werden kann, dass es erzielt werden könnte (vorne E. 3.4.3; vgl. BGE 134 V 322 E. 6.2 S. 329, wo es um eine Versicherte ging, die infolge geringer Kenntnisse und Ausbildung ein sehr tiefes Valideneinkommen erzielt hatte, weshalb das zumutbare Invalideneinkommen entsprechend zu kürzen war, vgl. ebenda E. 4.3). Ist hingegen ein durchschnittliches Invalideneinkommen realistischerweise erzielbar bzw. zumutbar und wird dieses einem tiefen Valideneinkommen gegenübergestellt, das ohne Gesundheitsbeeinträchtigung erzielt worden wäre, so liegt darin keine methodische Ungleichbehandlung der Schlechtverdienenden. Eine sachlich ungerechtfertigte Ungleichbehandlung läge im Gegenteil vor, wenn bei Schlechterverdienenden anders als bei allen anderen Personen nicht das konkret im Gesundheitsfall erzielte, sondern ein höheres Valideneinkommen zugrunde gelegt würde; denn dadurch würde - wie dargelegt - ein nicht aus gesundheitlichen, sondern aus wirtschaftlichen Gründen tiefes Einkommen ausgeglichen, was nicht Aufgabe der Invalidenversicherung ist.
3.4.5 An der dargelegten Regelung ändert auch der Umstand nichts, dass bei Versicherten, die im Aufgabenbereich tätig sind, für die Bemessung der Invalidität ein Betätigungsvergleich vorgenommen wird (Art. 28a Abs. 2 IVG). Dass bei nicht erwerbstätigen Versicherten nicht auf einen Vergleich des Erwerbseinkommens abgestellt werden kann, liegt in der Natur der Sache, kann aber nicht dazu führen, dass entgegen dem Gesetz auch dort nicht auf einen Einkommensvergleich abzustellen wäre, wo ein solcher möglich ist. Solches ergibt sich auch nicht daraus, dass eine invaliditätssenkende Wirkung eines tiefen Valideneinkommens dann ausgeschaltet werde, wenn die ausserordentliche Bemessungsmethode am Platz sei, wie die Vorinstanz geltend gemacht hat; denn auch bei der ausserordentlichen Methode werden nicht einfach die Einbussen im funktionellen Leistungsvermögen berücksichtigt, sondern die dadurch verursachten erwerblichen Auswirkungen (BGE 128 V 29 E. 1 S. 30) mit der Konsequenz, dass ebenfalls kein Invaliditätsgrad resultiert, wenn trotz der Gesundheitsbeeinträchtigung das gleiche Einkommen erzielt werden kann wie vorher.
3.4.6 Die bundesgerichtliche Rechtsprechung schliesst nicht aus, dass auch bei Erwerbstätigen unter Umständen nicht auf das zuletzt erzielte Einkommen abgestellt wird. Das trifft bei selbstständig Erwerbenden dann zu, wenn aufgrund der Umstände mit überwiegender Wahrscheinlichkeit anzunehmen ist, dass der Versicherte im Gesundheitsfall seine nicht einträgliche selbstständige Tätigkeit aufgegeben und eine besser entlöhnte andere Tätigkeit angenommen hätte (vgl. etwa Urteil I 696/01 vom 4. April 2002, E. 4b/bb, in Plädoyer 2002/3 S. 73 und AJP 2002 S. 1487; Urteil I 608/02 vom 23. April 2003, E. 3.2), oder dann, wenn die vor der Gesundheitsbeeinträchtigung ausgeübte selbstständige Tätigkeit wegen ihrer kurzen Dauer keine genügende Grundlage für die Bestimmung des Valideneinkommens darstellt, zumal in den ersten Jahren nach Aufnahme der selbstständigen Erwerbstätigkeit üblicherweise aus verschiedenen Gründen (hohe Abschreibungsquote auf Neuinvestitionen etc.) die Betriebsgewinne gering sind (Urteil I 761/02 vom 5. März 2003, E. 3.2; so auch in dem von der Vorinstanz zitierten Urteil I 42/01 vom 16. Mai 2001). Wenn sich hingegen der Versicherte, auch als seine Arbeitsfähigkeit noch nicht beeinträchtigt war, über mehrere Jahre hinweg mit einem bescheidenen Einkommen aus selbstständiger Erwerbstätigkeit begnügt hat, ist dieses für die Festlegung des Valideneinkommens massgebend, selbst wenn besser entlöhnte Erwerbsmöglichkeiten bestanden hätten (BGE 125 V 146 E. 5c/bb S. 157; Urteil I 428/04 vom 7. Juni 2006, E. 6.2; Urteil I 1/01 vom 31. Juli 2001, E. 4; Urteil I 335/04 vom 23. Dezember 2004, E. 3; Urteil I 232/02 vom 17. Dezember 2002, E. 2.3; Urteil I 696/01 vom 4. April 2002 E. 4a; MEYER-BLASER, Rechtsprechung des Bundesgerichts zum IVG, Zürich 1997, S. 208). Das gilt auch dann, wenn beim Invalideneinkommen dem Versicherten aufgrund der Schadenminderungspflicht zugemutet wird, in eine einträglichere unselbstständige Tätigkeit zu wechseln (vgl. etwa Urteile I 38/06 vom 7. Juni 2006 und I 116/03 vom 10. November 2003).
3.4.7 Vorliegend hat die Beschwerdegegnerin rund zehn Jahre lang eine selbstständige Tätigkeit ausgeübt. Darin liegt keine kurze Dauer im Sinne der genannten Rechtsprechung. Es bestehen auch sonst keinerlei Anzeichen oder Anhaltspunkte, dass sie ohne die gesundheitliche Beeinträchtigung ihre Tätigkeit als Wirtin zugunsten einer besser entlöhnten Tätigkeit aufgegeben hätte. Nach allgemeiner Lebenserfahrung wäre sie im Gesundheitsfall mit überwiegender Wahrscheinlichkeit in der bisherigen Tätigkeit verblieben. Es besteht deshalb kein Grund, das aus wirtschaftlichen Gründen unterdurchschnittliche Valideneinkommen auf einen durchschnittlichen Tabellenlohn aufzurechnen.
4. Nach den verbindlichen Sachverhaltsfeststellungen der Vorinstanz hat die Beschwerdegegnerin als selbstständige Wirtin in den Jahren 1995-2003 ein jährliches Einkommen erzielt, das zwischen Fr. 7'623.- bis maximal Fr. 29'200.- (im Jahre 2000) variierte. Angesichts des Invalideneinkommens von Fr. 22'104.- (vorne E. 2) ergibt sich damit kein rentenbegründender Invaliditätsgrad, selbst wenn auf das höchste der erzielten Jahreseinkommen abgestellt würde. Die Beschwerde ist begründet.
5. Die unterliegende Beschwerdegegnerin trägt die Kosten des Verfahrens (Art. 66 Abs. 1 BGG).
Demnach erkennt das Bundesgericht:
1. Die Beschwerde wird gutgeheissen. Der Entscheid des Versicherungsgerichts des Kantons St. Gallen vom 13. Mai 2008 wird aufgehoben.
2. Die Gerichtskosten von Fr. 500.- werden der Beschwerdegegnerin auferlegt.
3. Dieses Urteil wird den Parteien, dem Versicherungsgericht des Kantons St. Gallen, der Ausgleichskasse des Kantons St. Gallen und dem Bundesamt für Sozialversicherungen schriftlich mitgeteilt.
Luzern, 12. Dezember 2008
Im Namen der II. sozialrechtlichen Abteilung
des Schweizerischen Bundesgerichts
Der Präsident: Der Gerichtsschreiber:
Meyer Schmutz