Sachverhalt: A. A.a Die 1951 geborene S._ arbeitete vom 1. April 1973 bis 31. Januar 1998 bei der Firma F._ AG, und war so bei der Berna, Schweizerische Personalfürsorge- und Hinterbliebenen-Stiftung (Rechtsnachfolgerin: Sammelstiftung BVG der Allianz Suisse Lebensversicherungs-Gesellschaft; nachfolgend: Allianz Suisse) berufsvorsorgeversichert. Nach Arbeitslosigkeit war sie vom 8. Juni bis 15. Oktober 1998 bei der Firma M._ AG tätig. Ab 1. Juli 1999 bis 31. Oktober 2000 arbeitete sie bei der Firma C._ AG. Im Anschluss daran war sie bei der Firma E._ AG, (1. November 2000 bis 30. April 2001) und der Firma H._ AG, (1. Mai bis 30. November 2001) beschäftigt. Zuletzt arbeitete sie vom 1. März bis 3. April 2002 bei der Firma B._ AG. Am 15. September 2003 meldete sie sich unter Hinweis auf einen Diabetes I und ein psycho-physisches Erschöpfungssyndrom zum Bezug von Leistungen der Invalidenversicherung an. Mit Verfügung vom 23. Juni 2004 sprach ihr die IV-Stelle des Kantons Schaffhausen mit Wirkung ab 1. September 2002 bei einem Invaliditätsgrad von 85,66 % eine ganze Rente zu. Dabei stellte sie fest, die Versicherte sei seit mindestens 19. Mai 2001 (Beginn der einjährigen Wartefrist) in der Arbeitsfähigkeit eingeschränkt. Die dagegen erhobene Einsprache der Winterthur-Columna, Stiftung für die berufliche Vorsorge (Vorsorgeeinrichtung der Firma H._ AG) mit dem Rechtsbegehren, es sei der Beginn der Wartefrist auf das Jahr 1996, spätestens 1997, festzusetzen, wies die IV-Stelle mit Entscheid vom 17. Dezember 2004 ab. Auf die Beschwerde der Stiftung trat das Obergericht des Kantons Schaffhausen mit Entscheid vom 29. Juli 2005 nicht ein, weil der Entscheid der IV-Stelle für die Winterthur-Columna als allenfalls zuständige Vorsorgeeinrichtung keine Bindungswirkung entfalte und sie mangels Berührtseins nicht zur Beschwerde legitimiert sei. A.b S._ ersuchte die Allianz Suisse um Ausrichtung von Invalidenleistungen aus der beruflichen Vorsorge, was jene mit der Begründung ablehnte, seit der Beendigung des Arbeitsverhältnisses mit der Firma F._ AG am 31. Januar 1998 habe keine ununterbrochene Arbeitsunfähigkeit bestanden, sondern die Versicherte sei namentlich während des Beschäftigung bei der Firma C._ AG für längere Zeit voll arbeitsfähig gewesen. B. S._ liess beim Sozialversicherungsgericht des Kantons Zürich Klage einreichen und beantragen, die Allianz Suisse sei zu verpflichten, mit Wirkung ab dem 1. Juli 2001 (eventualiter 1. September 2002) eine volle Invalidenrente von jährlich Fr. 33'505.- nebst Verzugszins ab Klagedatum zu bezahlen; subeventualiter sei die für die Leistung an die Klägerin zuständige beigeladene Vorsorgeeinrichtung zu verpflichten, nach Massgabe ihres Vorsorgeplanes eine volle Invalidenrente auszurichten. Soweit es darauf eintrat, wies das kantonale Gericht die Klage mit Entscheid vom 31. Oktober 2008 ab. C. Mit Beschwerde in öffentlich-rechtlichen Angelegenheiten lässt S._ die vorinstanzlich gestellten Rechtsbegehren erneuern; eventualiter sei die Sache zur Neubeurteilung an die Vorinstanz zurückzuweisen. Die Beschwerdegegnerin beantragt Abweisung der Beschwerde; Vorinstanz und Bundesamt für Sozialversicherungen verzichten auf Vernehmlassung. Von den beigeladenen Einrichtungen beantragen die Stiftung comPlan (Vorsorgeeinrichtung der Firma C._) die Abweisung und die Stiftung Auffangeinrichtung BVG die Gutheissung der Beschwerde; die Winterthur-Columna Sammelstiftung BVG und die Swisscanto Sammelstiftung der Kantonalbanken (Vorsorgeeinrichtung der Firma E._ AG) verzichten auf eine Stellungnahme.