Sachverhalt:
A. Die X._ Holding AG übernahm mit Fusionsvertrag vom 14. Dezember 2005 ihre damalige Tochtergesellschaft X._ AG durch Absorption. Diese hatte im Geschäftsjahr per 31. Januar 2004 in verschiedenen Kantonen - unter anderem auch in den Kantonen St. Gallen, Zürich und Waadt - aus der Veräusserung von Kapitalanlageliegenschaften Gewinne erzielt. An ihrem Hauptsteuerdomizil in Luzern wies sie demgegenüber einen namhaften Verlust aus. Sie wurde am 24. Februar 2005 im Kanton Luzern für die Staats- und Gemeindesteuern aufgrund des Rechnungsabschlusses per 31. Januar 2004 unter Berücksichtigung der Grundstückgewinne in den diversen Kantonen mit einem Reingewinn von null und mit einem steuerbaren Kapital von Fr. _, satzbestimmend Fr. _, veranlagt.
Am 17. Februar 2005 veranlagte die Kommission für die Grundsteuern der Stadt Zürich die X._ AG zu einem steuerbaren Grundstückgewinn von Fr. _. Im Kanton Waadt wurde sie am 2. November 2006 zu einem steuerbaren Gewinn von Fr. _ veranlagt. Beide Veranlagungen blieben unangefochten und erwuchsen in Rechtskraft.
B. Im Kanton St. Gallen veräusserte die X._ AG die ehemaligen Betriebsstätteliegenschaften und realisierte hierdurch im Geschäftsjahr per Ende Januar 2004 Kapitalgewinne von insgesamt Fr. _. Diese Kapitalgewinne wies das Steueramt des Kantons St. Gallen in der interkantonalen Steuerausscheidung objektmässig dem Kanton St. Gallen zu und veranlagte die Steuerpflichtige - unter Berücksichtigung des auf den Kanton St. Gallen entfallenden Betriebsverlusts und dem anteilmässigen Vorjahresverlust - zu einem steuerbaren Reingewinn von Fr. _ und einem steuerbaren Eigenkapital von Fr. _ (Veranlagungsverfügung vom 7. April 2005).
Da sich im Laufe des Einspracheverfahrens eine Praxisänderung durch das Bundesgericht abgezeichnet und dieses am 19. November 2004 entschieden hatte, dass der Betriebsstättekanton einen allfälligen Gesamtverlust der Unternehmung in anderen Kantonen an den Gewinn aus der Veräusserung von Betriebsliegenschaften anzurechnen habe (BGE 131 I 249), und es in einem weiteren Entscheid vom 8. Mai 2006 dieses Prinzip auch auf Gewinne aus Kapitalanlageliegenschaften angewendet hatte (BGE 132 I 220), hielt das Steueramt des Kantons St. Gallen im Einspracheentscheid vom 19. Juli 2007 an dieser Steuerausscheidung nicht mehr fest und veranlagte die X._ AG - unter Anrechnung des Gesamtbetriebsverlustes - zu einem Reingewinn null und einem steuerbaren Eigenkapital von Fr. _.
C. Im Anschluss an diesen Einspracheentscheid des Kantons St. Gallen vom 19. Juli 2007 reichte die Steuerpflichtige (nunmehr X._ Holding AG) am 20. August 2007 bei der Verwaltungsrekurskommission des Kantons St. Gallen sowie bei der Kommission für die Grundsteuern der Stadt Zürich und bei den Steuerverwaltungen der Kantone Luzern und Waadt eine als "vorsorglicher Rekurs/Einsprache/vorsorgliche Einsprache" bezeichnete Rechtsschrift ein. Sie beantragte, der Eintritt der Rechtskraft des St. Galler Entscheids sei vorsorglich zu suspendieren, bis die gestellten Anträge auf Verlustverrechnung von den anderen Kantonen behandelt worden seien; der Zürcher Entscheid und der Waadtländer Entscheid seien aufzuheben und die bezahlten Steuern zurückzuerstatten; der Eintritt der Rechtskraft des Luzerner Entscheids sei zu suspendieren, bis die Behörden der anderen Kantone über die gestellten Anträge befunden hätten.
Am 13. September 2007 führte die X._ Holding AG zudem staatsrechtliche Beschwerde wegen Verletzung des Verbots der interkantonalen Doppelbesteuerung gegenüber den Kantonen St. Gallen, Zürich, Luzern und Waadt. Das Bundesgericht nahm die Eingabe als Beschwerde in öffentlich-rechtlichen Angelegenheiten entgegen, trat auf die Beschwerde nicht ein und überwies die Sache an die Verwaltungsrekurskommission des Kantons St. Gallen, weil nach dem neuen Bundesgerichtsgesetz (BGG) bei Beschwerden wegen interkantonaler Doppelbesteuerung der kantonale Instanzenzug mindestens in einem Kanton erschöpft sein muss (Art. 86 Abs. 1 lit. d und Abs. 2 BGG; nicht publiziertes Urteil 2C_502/2007 vom 20. September 2007).
Die Steuerverwaltung des Kantons Waadt zog ihre Veranlagung am 30. Oktober 2007 in Wiedererwägung und hob die Gewinnbesteuerung der X._ Holding AG auf.
Die Kommission für die Grundsteuern der Stadt Zürich und die Steuerverwaltung des Kantons Luzern reagierten auf die Eingabe der Steuerpflichtigen nicht.
Die Verwaltungsrekurskommission des Kantons St. Gallen trat mit Entscheid vom 14. Februar 2008 auf den Rekurs vom 20. August 2007 nicht ein, weil sie nicht zuständig sei, die umstrittene doppelbesteuerungsrechtliche Frage zwischen den Kantonen Luzern, Zürich und Waadt zu prüfen. In Bezug auf die Veranlagung im Kanton St. Gallen sei die Rekurrentin nicht beschwert. Zudem sei fraglich, ob sie über die vom Kompetenzkonflikt nicht betroffene sanktgallische Veranlagung die rechtskräftigen Veranlagungen der anderen Kantone der materiellen Prüfung der Doppelbesteuerungsfrage durch das Bundesgericht zuführen könne.
D. Gegen den Entscheid der Verwaltungsrekurskommission des Kantons St. Gallen vom 14. Februar 2008 führte die X._ Holding AG Beschwerde beim Verwaltungsgericht des Kantons St. Gallen. Dieses bestätigte den Nichteintretensentscheid und wies die Beschwerde ab (Urteil vom 19. August 2008).
E. Gegen das Urteil des Verwaltungsgerichts des Kantons St. Gallen vom 19. August 2008 führt die X._ Holding AG am 23. September 2008 Beschwerde in öffentlich-rechtlichen Angelegenheiten. Die Beschwerde richtet sich auch gegen die Steuerverwaltung des Kantons Luzern (jetzt Dienststelle Steuern des Kantons Luzern) und die Kommission für die Grundsteuern der Stadt Zürich. Die Beschwerdeführerin beantragt, die Kommission für die Grundsteuern der Stadt Zürich sei anzuweisen, die Veranlagung unter Vermeidung eines Ausscheidungsverlusts neu vorzunehmen und die zuviel bezogenen Steuern zurückzuerstatten. Soweit notwendig sei auch die Steuerverwaltung des Kantons Luzern anzuweisen, ihre Veranlagungsverfügung und Steuerausscheidung vom 24. Februar 2005 zu korrigieren. Die Beschwerdeführerin rügt eine Verletzung des Schlechterstellungsverbots (Art. 127 Abs. 3 BV), des Grundsatzes der Besteuerung nach der wirtschaftlichen Leistungsfähigkeit (Art. 127 Abs. 2 BV) sowie von Treu und Glauben (Art. 5 Abs. 3, Art. 9 BV).
Das Verwaltungsgericht des Kantons St. Gallen beantragt, die Beschwerde sei abzuweisen, soweit sie sich gegen sein Urteil richte. Die Steuerverwaltung des Kantons St. Gallen verzichtete auf eine Vernehmlassung. Das Steueramt der Stadt Zürich schliesst auf Abweisung der Beschwerde, soweit darauf einzutreten sei. Das ebenfalls zur Vernehmlassung eingeladene Kantonale Steueramt Zürich beantragt, auf die Beschwerde nicht einzutreten. Die Dienststelle Steuern des Kantons Luzern verzichtete auf Vernehmlassung.
Erwägungen:
1. Art. 127 Abs. 3 Satz 1 BV untersagt die interkantonale Doppelbesteuerung. Nach der Rechtsprechung (BGE 134 I 303 E. 2.1; 133 I 19 E. 2.1, 308 E. 2.1; 132 I 29 E. 2.1; 130 I 205 E. 4.1) liegt eine interkantonale Doppelbesteuerung vor, wenn eine steuerpflichtige Person von zwei oder mehreren Kantonen für das gleiche Steuerobjekt und für die gleiche Zeit zu Steuern herangezogen wird (aktuelle Doppelbesteuerung) oder wenn ein Kanton in Verletzung der geltenden Kollisionsnormen seine Steuerhoheit überschreitet und eine Steuer erhebt, die einem anderen Kanton zusteht (virtuelle Doppelbesteuerung). Ausserdem darf ein Kanton eine steuerpflichtige Person grundsätzlich nicht deshalb stärker belasten, weil sie nicht in vollem Umfang seiner Steuerhoheit untersteht, sondern zufolge ihrer territorialen Beziehungen auch noch in einem anderen Kanton steuerpflichtig ist (Schlechterstellungsverbot).
2. Gegen letztinstanzliche kantonale Entscheide (Art. 86 Abs. 1 lit. d BGG) oberer kantonaler Gerichte (Art. 86 Abs. 2 BGG) kann wegen interkantonaler Doppelbesteuerung die Beschwerde in öffentlich-rechtlichen Angelegenheiten ergriffen werden (Art. 82 lit. a BGG). Erforderlich ist mithin die Erschöpfung des kantonalen Instanzenzuges. Ist der Instanzenzug durchlaufen, kann in die Beschwerde wegen interkantonaler Doppelbesteuerung innert der Beschwerdefrist von dreissig Tagen (Art. 100 Abs. 1 BGG) auch noch die konkurrierende Veranlagung eines anderen Kantons (oder mehrerer anderer Kantone) mit einbezogen werden, und zwar auch dann, wenn diese Veranlagung bereits rechtskräftig ist. Art. 100 Abs. 5 BGG bestimmt denn auch, dass bei Beschwerden wegen interkantonaler Kompetenzkonflikte die Beschwerdefrist "spätestens dann zu laufen (beginnt), wenn in beiden Kantonen Entscheide getroffen worden sind, gegen welche beim Bundesgericht Beschwerde geführt werden kann".
3. Während das Bundesgesetz über die Organisation der Bundesrechtspflege vom 16. Dezember 1943 (OG) mit den seitherigen Änderungen noch eine Ausnahme vom Erfordernis der Erschöpfung des kantonalen Instanzenzuges bei Beschwerden auf dem Gebiet der interkantonalen Doppelbesteuerung vorsah (Art. 86 Abs. 2 OG), lässt das BGG keine derartige Ausnahme mehr zu (BGE 133 I 300 E. 2.3 S. 305 f., 308 E. 2.3 S. 312). Immerhin ist der mehrfach Besteuerte - entgegen dem nicht ganz klaren Wortlaut des Art. 100 Abs. 5 BGG - nicht verpflichtet, in jedem Kanton den Instanzenzug zu durchlaufen. Es genügt, wenn er das in demjenigen Kanton tut, dessen Entscheid er schliesslich beim Bundesgericht anfechten will, wie bereits die Botschaft vorsah und das Bundesgericht unter der Geltung des BGG bestätigte (Botschaft zur Totalrevision der Bundesrechtspflege vom 28. Februar 2001, BBl 2001 S. 4326 ad Art. 80, und dazu BGE 133 I 300 E. 2.4 S. 306, 308 E. 2.4 S. 313).
Nach wie vor ist es auch möglich, eine unzulässige interkantonale Doppelbesteuerung sofort geltend zu machen, ohne dass bereits ein zweiter Kanton entschieden hat (virtuelle Doppelbesteuerung). Art. 100 Abs. 5 BGG, wonach die Beschwerdefrist spätestens (au plus tard) zu laufen beginnt, wenn in beiden Kantonen Verfügungen getroffen worden sind, bringt das besser zum Ausdruck als früher Art. 89 Abs. 3 OG, wonach bei Beschwerden wegen interkantonaler Kompetenzkonflikte die Frist erst (seulement après) zu laufen begann, wenn in beiden Kantonen Entscheide getroffen worden waren (BGE 133 I 308 E. 2.3 i.f. S. 312).
Abgesehen davon, dass die Erschöpfung des kantonalen Instanzenzuges zur Anfechtung mit Beschwerde in öffentlich-rechtlichen Angelegenheiten nunmehr vorgeschrieben ist, hat das neue Recht indessen keine Änderung gebracht und behält die bisherige Rechtsprechung ihre Bedeutung bei.
4. 4.1 Die Beschwerde nach Art. 127 Abs. 3 BV kann somit auch noch an den Entscheid des zuletzt verfügenden Kantons, der eine Kollision erkennen lässt, angeschlossen werden. Das kann nach einer schon älteren und wiederholt bestätigten Rechtsprechung auch ein Nichteintretensentscheid sein, sofern die Behörde die Doppelbesteuerungsfrage materiell entschieden hat oder hätte entscheiden müssen. Es kommt daher nicht auf die Form oder Bezeichnung, sondern auf den materiellen Gehalt des angefochtenen Entscheides an (BGE 72 I 75 E. 1 S. 80; 48 I 349 E. 1 S. 360; Urteil P.1236/1981 vom 15. Oktober 1982 E. 1a, c, in: ASA 53 S. 292; s. auch Urteil P.1270/1980 vom 25. Mai 1984 E. 2b, in: ASA 56 S. 144; Urteil 2P.212/2004 E. 2.2, in: StR 60/2005 S. 113; zum Ganzen: Locher/Locher, Interkantonale Doppelbesteuerung, § 12, III A, 2 Nr. 3, 28, 32).
4.2 Im Hinblick auf die bundesrechtlich vorgeschriebene Erschöpfung des kantonalen Instanzenzuges (Art. 86 Abs. 1 lit. d und Abs. 2 BGG) erkannte das Bundesgericht zudem, dass in Doppelbesteuerungssachen der Weiterzug in einem Kanton möglich sein muss, auch wenn der mehrfach Besteuerte den Besteuerungsanspruch dieses Kantons anerkennen will. Es handelt sich um das bereits vorn im Sachverhalt, Abschnitt C, erwähnte Urteil in Sachen der Beschwerdeführerin (Urteil 2C_502/2007 vom 20. September 2007, E. 2.4 in fine). Auch in einem solchen Fall ist aber erforderlich, dass im betreffenden Kanton sich die Doppelbesteuerungsfrage tatsächlich stellt. Mit der Beschwerde gegen einen Entscheid ohne doppelbesteuerungsrechtlichen Bezug konnte schon bisher der bereits rechtskräftige Entscheid eines anderen Kantons wegen Doppelbesteuerung nicht mehr angefochten werden. Das kam in der Rechtsprechung in der Formulierung zum Ausdruck, dass die Beschwerde wegen Doppelbesteuerung auch im Anschluss an die Geltendmachung "des zweiten der einander allenfalls ausschliessenden Steueransprüche" ("de la dernière prétention fiscale, qui, selon le recourant, constitue une double imposition") geführt werden kann (BGE 115 Ia 73 E. 2a S. 74; 114 Ia 317 E. 2a S. 318; 111 Ia 44 E. 1a S. 45; 104 Ia 256 E. 1 S. 257; 98 Ia 86 E. 1 S. 89; Urteil 2P.289/2000 vom 8. Januar 2002, in: ASA 71 S. 416 E. 1a). An dieser Rechtsprechung ist auch unter der neuen Verfahrensordnung des BGG festzuhalten.
5. Die vorliegende Beschwerde in öffentlich-rechtlichen Angelegenheiten wurde im Anschluss an den Entscheid des Verwaltungsgerichts des Kantons St. Gallen erhoben. Die Beschwerdeführerin wirft diesem Kanton nicht vor, er habe seine Steuerhoheit überschritten. Es steht ausser Frage, dass im Kanton St. Gallen weder eine aktuelle noch eine virtuelle Doppelbesteuerung vorliegt und auch das Schlechterstellungsverbot nicht berührt ist. Der Kanton St. Gallen hat vielmehr entsprechend der neuen Rechtsprechung des Bundesgerichts in dieser Frage (BGE 131 I 249; 132 I 220) den Gesamtverlust der Unternehmung soweit möglich mit den Liegenschaftsgewinnen auf den Betriebsliegenschaften im Kanton St. Gallen verrechnet und die Beschwerdeführerin mit einem Reingewinn von null und einem steuerbaren Eigenkapital von Fr. 1'303'000.-- veranlagt. Es war denn auch im gesamten Verfahren der Verwaltungsrekurskommission und des Verwaltungsgerichts nie die Rede davon, dass die Veranlagung des Kantons St. Gallen falsch sein oder eine Doppelbesteuerung bewirken könnte.
Die Beschwerdeführerin focht den Entscheid des sanktgallischen Verwaltungsgerichts vielmehr deshalb an, weil sie über die Anfechtung dieses Entscheids mit Doppelbesteuerungsbeschwerde eine erneute Prüfung der bereits rechtskräftigen Veranlagungen, insbesondere im Kanton Zürich, zu erreichen hoffte. Das ist zwar verständlich. Die Beschwerdeführerin hatte aufgrund der damaligen Rechtslage und Praxis keinen Anlass, die Grundstückgewinnsteuerveranlagung der Stadt Zürich in Frage zu stellen und anzufechten. Sogenannte Ausscheidungsverluste, die sich bei einer interkantonalen Unternehmung daraus ergaben, dass dem Kanton der gelegenen Sache der Wertzuwachs auf Liegenschaften ohne Rücksicht auf den Gesamtverlust der Unternehmung zur ausschliesslichen Besteuerung zustand (vgl. die Nachweise in BGE 131 I 249 E. 6.2 S. 260 f. und 132 I 220 E. 4.1 S. 224), waren hinzunehmen. Erst mit BGE 131 I 249 E. 6.3 S. 261 und 132 I 220 E. 5 S. 227 änderte das Bundesgericht diese Praxis und verpflichtete den Kanton, einen allfälligen Geschäftsverlust an den Grundstückgewinn anzurechnen. Diese neue Praxis war im Zeitpunkt der Luzerner und der Zürcher Veranlagung (17. bzw. 24. Februar 2005) noch nicht allgemein bekannt.
Dennoch berechtigt diese Interessenlage nicht zur Anfechtung der St. Galler Veranlagung mit Beschwerde nach Art. 127 Abs. 3 BV. Die Steuerverwaltung des Kantons St. Gallen nahm im Einspracheverfahren aufgrund der neuen Praxis eine Berichtigung der Veranlagung vor, indem sie den Gesamtbetriebsverlust auf den Liegenschaftsgewinn im Kanton St. Gallen anrechnete. Im Rekurs- und Beschwerdeverfahren vor den kantonalen Instanzen war die Veranlagung nicht mehr umstritten. Es gibt keine Doppelbesteuerungsfrage, die der Kanton St. Gallen hätte behandeln oder anders behandeln müssen. Es ist daher nicht möglich, durch Anfechtung der sanktgallischen Veranlagung den Kompetenzkonflikt zwischen den übrigen Kantonen der materiellen Prüfung durch das Bundesgericht zuzuführen. Darauf hat bereits die Verwaltungsrekurskommission des Kantons St. Gallen in ihrem Entscheid zu Recht hingewiesen.
6. Der Vertrauensgrundsatz (Art. 5 Abs. 3, Art. 9 BV) ist nicht verletzt. Eine Änderung der Praxis entfaltet nur Wirkung für die Zukunft. In Bezug auf die noch nicht rechtskräftige Veranlagung im Kanton St. Gallen fand die neue Praxis unmittelbar Anwendung. Im Kanton St. Gallen profitierte die Beschwerdeführerin somit von der neuen Praxis.
Dass mit der Rückweisung der Sache durch das Bundesgericht an die Verwaltungsrekurskommission des Kantons St. Gallen (Urteil 2C_502/2007 vom 20. September 2007) die Beschwerdeführerin in den Glauben versetzt wurde, der Kanton St. Gallen müsse sich mit der Doppelbesteuerungsfrage materiell befassen, erklärt sich aus der besonderen Situation. Das Bundesgericht hatte damals nur zu prüfen, ob mit Blick auf Art. 86 BGG der kantonale Instanzenzug erschöpft und die Beschwerde wegen Doppelbesteuerung zulässig sei. Da dies nicht der Fall war und die Beschwerdeführerin im Kanton St. Gallen bereits Rekurs erhoben hatte, lag es nahe, die Beschwerde zur weiteren Behandlung an die Verwaltungsrekurskommission zu überweisen. Dazu kommt, dass die Beschwerdeführerin in ihrer damaligen Beschwerde an das Bundesgericht nicht darauf hinwies, dass sie durch den Einspracheentscheid des Steueramtes des Kantons St. Gallen nicht mehr beschwert war. Sie äusserte sich nur sehr allgemein, dass sie "hauptsächlich" durch die Veranlagungen der Kantone Zürich und Luzern betroffen sei. Die Beschwerdeführerin hat es sich somit selbst zuzuschreiben, dass das Bundesgericht der Meinung war, es müsse vorab der Instanzenzug im Kanton St. Gallen ausgeschöpft werden.
7. Die Beschwerdeführerin wirft der Kommission für die Grundsteuern der Stadt Zürich mit der vorliegenden Beschwerde vor, sich treuwidrig verhalten zu haben, weil sie einen Kapitalgewinn veranlagte, obschon sie "mit gleichen oder ähnlichen Fällen" vor Bundesgericht involviert gewesen sei und sich eine Praxisänderung abzeichnete.
Wie es sich damit verhält, ist hier nicht zu beurteilen. Es handelt sich um eine aus Art. 5 Abs. 3 und 9 BV (Treu und Glauben) abgeleitete Rüge, für welche die Beschwerdefrist von 30 Tagen gegenüber dem angefochtenen Entscheid eingehalten und der Instanzenzug erschöpft sein muss. Die Rechtsprechung, wonach in die Beschwerde wegen Verletzung des Doppelbesteuerungsverbots (Art. 46 Abs. 2 aBV, Art. 127 Abs. 3 BV) auch die Rüge wegen Verletzung des Willkürverbots (Art. 4 aBV, Art. 9 BV) oder anderer Verfassungsrechte mit einbezogen werden kann, wenn diese keine selbständige Bedeutung hat, sondern lediglich der Begründung der Doppelbesteuerungsbeschwerde dient (BGE 83 I 100 E. 1a S. 105; Urteil P.1270/1980 vom 25. Mai 1984 E. 1, in: ASA 56 S. 144; Locher/Locher, § 12, III B, 2 Nr. 23, 36, 44), findet vorliegend keine Anwendung, nachdem auf die Doppelbesteuerungsbeschwerde nicht eingetreten werden kann.
Das trifft auch auf die weitere Rüge zu, der Grundsatz der Besteuerung nach der wirtschaftlichen Leistungsfähigkeit nach Art. 127 Abs. 2 BV sei verletzt, die sich gegen die Veranlagung der Stadt Zürich richtet.
8. Auf die Beschwerde kann nach dem Gesagten nicht eingetreten werden. Bei diesem Ausgang des Verfahrens sind die Gerichtskosten (Art. 65 BGG) der Beschwerdeführerin aufzuerlegen (Art. 66 Abs. 1 BGG). Anspruch auf Parteientschädigung besteht nicht (Art. 68 Abs. 2 und 3 BGG).
Demnach erkennt das Bundesgericht:
1. Auf die Beschwerde wird nicht eingetreten.
2. Die Gerichtskosten von Fr. 3'000.-- werden der Beschwerdeführerin auferlegt.
3. Dieses Urteil wird den Parteien, dem Verwaltungsgericht des Kantons St. Gallen und der Eidgenössischen Steuerverwaltung schriftlich mitgeteilt.
Lausanne, 15. Mai 2009
Im Namen der II. öffentlich-rechtlichen Abteilung
des Schweizerischen Bundesgerichts
Der Präsident: Der Gerichtsschreiber:
Müller Wyssmann