Sachverhalt: A. Mit Verfügung vom 3. Februar 2006 sprach die IV-Stelle des Kantons Zürich C._ eine ganze Invalidenrente samt Kinderrente ab 1. September 2005 zu, ausmachend insgesamt pro Monat Fr. 2'384.-. Daraus resultierte für die Zeit vom 1. September 2005 bis 31. Januar 2006 eine Nachzahlung von zusammen Fr. 11'920.-. Gleichzeitig verfügte die IV-Stelle Nachzahlung von Vorschussleistungen an die SWICA Krankenversicherung (nachfolgend: Swica) in der Höhe von Fr. 4'768.- und an die Sozialen Dienste X._ (nachfolgend: Soziale Dienste) in der Höhe von Fr. 7'152.-. Die Swica erhob dagegen Einsprache, welche mit Entscheid vom 5. Mai 2006 abgewiesen wurde. B. Die Swica reichte dagegen Beschwerde beim Sozialversicherungsgericht des Kantons Zürich ein. Dieses lud die Sozialen Dienste und C._ zum Prozess bei und drohte eine reformatio in peius an; mit Entscheid vom 25. Oktober 2007 wies es die Beschwerde ab und hob den Einspracheentscheid auf mit der Feststellung, dass der Beschwerdeführerin ein Verrechnungsbetrag von Fr. 4'138.20 zustehe. C. Die Swica führt Beschwerde in öffentlich-rechtlichen Angelegenheiten mit dem Antrag, die IV-Stelle sei in Aufhebung des vorinstanzlichen Entscheids zu verpflichten, ihr einen Verrechnungsbetrag von Fr. 9'536.- zu leisten. Die IV-Stelle und die Sozialen Dienste beantragen Abweisung der Beschwerde; C._ und das Bundesamt für Sozialversicherungen verzichten auf Vernehmlassung. 