Sachverhalt:
A. Mit Verfügung vom 26. Oktober 2006 sprach die IV-Stelle des Kantons Solothurn der 1964 geborenen G._ für die Zeit vom 1. September 2005 bis 30. April 2006 eine ganze und ab 1. Mai 2006 eine Viertelsrente der Invalidenversicherung zu.
B. Die dagegen eingereichte Beschwerde hiess das Versicherungsgericht des Kantons Solothurn mit Entscheid vom 13. September 2007 teilweise gut; es sprach G._ ab 1. September 2005 eine halbe Invalidenrente zu (Dispositiv-Ziffer 1); die der Rechtsvertreterin "zufolge Gewährung der unentgeltlichen Rechtsverbeiständung im Beschwerdeverfahren zustehende Entschädigung" setzte es auf Fr. 2000.- (inkl. Auslagen und MWSt) fest, zahlbar durch die Zentrale Gerichtskasse des Kantons Solothurn sowie unter Vorbehalt des Rückforderungsanspruches des Staates während zehn Jahren, sollte die Beschwerdeführerin zu hinreichendem Einkommen und Vermögen kommen (Dispositiv-Ziffer 2); Verfahrenskosten erhob es keine (Dispositiv-Ziffer 3).
C. G._ lässt Beschwerde in öffentlich-rechtlichen Angelegenheiten erheben und beantragen, die Dispositiv-Ziffern 2 und 3 des angefochtenen Entscheides seien aufzuheben; es sei ihr für das vorinstanzliche Verfahren eine Parteientschädigung zu Lasten der IV-Stelle zuzusprechen; der IV-Stelle seien für das kantonale Verfahren Verfahrenskosten in angemessener Höhe aufzuerlegen; eventualiter sei die Sache an die Vorinstanz zurückzuweisen, damit diese die Kostenregelung neu treffe; ferner beantragt sie die unentgeltliche Rechtspflege.
Vorinstanz und Verwaltung schliessen auf Abweisung der Beschwerde, soweit darauf einzutreten ist. Das Bundesamt für Sozialversicherungen verzichtet auf Vernehmlassung.

Erwägungen:
1. Die Beschwerde in öffentlich-rechtlichen Angelegenheiten 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 (<ref-law>). Es kann die Sachverhaltsfeststellung der Vorinstanz nur berichtigen oder ergänzen, wenn sie offensichtlich unrichtig ist oder auf einer Rechtsverletzung im Sinne von <ref-law> beruht (<ref-law>).
2. In der Sache ist der vorinstanzliche Entscheid nicht angefochten, sondern lediglich hinsichtlich der Verlegung der Gerichtskosten und der Parteientschädigung.
3. Soweit gerügt wird, der in Anwendung kantonalen Rechts angeordnete Verzicht, Gerichtskosten zu erheben und der IV-Stelle als unterliegender Partei aufzuerlegen, sei bundesrechtswidrig, ist auf die Beschwerde in öffentlich-rechtlichen Angelegenheiten mangels Legitimation der Beschwerdeführerin nicht einzutreten: Sie hat zwar - wie nach <ref-law> kumulativ gefordert (Seiler/von Werdt/Güngerich, Bundesgerichtsgesetz [BGG], Bern 2007, N 8 zu Art. 89) - am vorinstanzlichen Verfahren teilgenommen (lit. a), ist aber diesbezüglich weder durch den angefochtenen Gerichtskostenentscheid besonders berührt (lit. b) noch hat sie ein schutzwürdiges Interesse an dessen Änderung (lit. c).
4. Die Beschwerdelegitimation ist gegeben hinsichtlich der Parteikostenverlegung im kantonalen Verfahren, dies entgegen der Argumentation des kantonalen Gerichts in der Vernehmlassung schon nur deshalb, weil bei der Zusprechung einer Parteientschädigung zu Lasten einer IV-Stelle kein Rückforderungsanspruch des Staates besteht. Nach <ref-law> hat die obsiegende Beschwerde führende Person im kantonalen Verfahren Anspruch auf Ersatz der Parteikosten (Satz 1), wobei diese vom Versicherungsgericht festgesetzt und ohne Rücksicht auf den Streitwert nach der Bedeutung der Streitsache und nach der Schwierigkeit des Prozesses bemessen wird (Satz 2). Auf der Stufe des solothurnischen Rechts ist dies umgesetzt in § 7 Abs. 3 der Verordnung des Kantonsrates über das Verfahren vor dem Versicherungsgericht und über die Organisation und das Verfahren der Schiedsgerichte in den Sozialversicherungen (Kantonsratsbeschluss vom 22. September 1987; BGS 125.922). Danach hat der obsiegende Beschwerdeführer Anspruch auf eine Parteientschädigung zu Lasten der unterliegenden Sozialversicherung (Satz 1). Diese wird ohne Rücksicht auf den Streitwert nach dem zu beurteilenden Sachverhalt und der Schwierigkeit des Prozesses bemessen (Satz 2). Der vorinstanzliche Entscheid ist rechtswidrig, indem er der im Ergebnis obsiegenden Beschwerdeführerin keine Parteientschädigung zu Lasten der Beschwerdegegnerin zugesprochen hat, sondern sie bloss im Rahmen der unentgeltlichen Rechtspflege zu Lasten der Gerichtskasse und mit vorbehaltenem Rückforderungsanspruch entschädigt hat.
5. Was die Höhe der der Beschwerdeführerin verfahrensausgangsgemäss zustehenden Entschädigung betrifft, besteht kein Grund, von den Fr. 2'000.- abzugehen. Für beide Verfahren rechtfertigt sich eine Entschädigung von gesamthaft Fr. 3'000.- (<ref-law>).
6. Bei diesem Verfahrensausgang sind die Gerichtskosten der IV-Stelle zu überbinden, die das Prozessrisiko trägt (<ref-law>).

Demnach erkennt das Bundesgericht:
1. Die Beschwerde wird gutgeheissen, soweit darauf einzutreten ist.
2. Dispositiv-Ziffer 2 des Entscheides des Versicherungsgerichts des Kantons Solothurn vom 13. September 2007 wird aufgehoben.
3. Die Beschwerdegegnerin hat die Beschwerdeführerin für das bundesgerichtliche und das kantonale Verfahren mit Fr. 3'000.- zu entschädigen.
4. Die Gerichtskosten für das bundesgerichtliche Verfahren von Fr. 500.- werden der Beschwerdegegnerin auferlegt.
5. Dieses Urteil wird den Parteien, dem Versicherungsgericht des Kantons Solothurn, der Ausgleichskasse des Kantons Solothurn und dem Bundesamt für Sozialversicherungen schriftlich mitgeteilt.
Luzern, 28. April 2008
Im Namen der II. sozialrechtlichen Abteilung
des Schweizerischen Bundesgerichts
Der Präsident: Der Gerichtsschreiber:
i.V. Borella Schmutz