Sachverhalt: A. Der 1946 geborene S._ meldete sich am 16. Juli 2003 bei der Öffentlichen Arbeitslosenkasse Basel-Stadt zum Bezug von Arbeitslosenentschädigung an. Davor war er unter anderem Inhaber, alleiniger Verwaltungsrat und Geschäftsführer der seit 1985 bestehenden Firma X._ AG sowie Verwaltungsrat und Geschäftsführer der Firma Y._ AG. Mit Verfügung vom 23. Juli 2003 löste die Kontrollstelle für die Bekämpfung der Geldwäscherei (GwG) die X._ AG auf und setzte sie in Liquidation; sie entzog S._ die Vertretungsbefugnis und setzte die Firma V._ AG als Revisionsstelle ab sowie die Firma Z._ als Liquidatorin ein. Mit Schreiben an das Handelsregisteramt vom 25. August 2003 trat S._ mit sofortiger Wirkung als Verwaltungsrat der Y._ AG zurück. Mit Verfügung vom 5. September 2003 verneinte die Kantonale Amtsstelle für Arbeitslosenversicherung Basel-Stadt (nachfolgend Amtsstelle) seinen Anspruch auf Arbeitslosenentschädigung. Die dagegen erhobene Einsprache wies sie mit Entscheid vom 28. Oktober 2003 ab, da sein Lohnfluss nicht nachgewiesen sei. B. Hiegegen reichte S._ beim Sozialversicherungsgericht Basel-Stadt Beschwerde ein. Dieses holte Berichte die Firma Z._ vom 28. Januar 2004 und der Staatsanwaltschaft vom 28. Juni 2004 ein. Am 19. August 2004 sistierte es das Verfahren bis zum Vorliegen des Urteils des Eidgenössischen Versicherungsgerichts (seit 1. Januar 2007 Bundesgericht) betreffend das vorinstanzliche Verfahren AL 2002 85, das weder den Versicherten noch die Firmen, in denen er tätig war, betraf; dieses Urteil wurde am 15. April 2005 gefällt (Verfahren C 140/04). Am 30. Juni 2005 sistierte die Vorinstanz das Verfahren bis zum Abschluss des gegen S._ laufenden Strafverfahrens. Am 31. Dezember 2007 hob sie die Sistierung auf. Sie zog die Strafakten des S._ bei. Mit Entscheid vom 28. August 2008 wies sie die Beschwerde ab. C. Mit Beschwerde beantragt S._ die Bejahung des Anspruchs auf Arbeitslosenentschädigung. Die Beschwerdegegnerin und das Staatssekretariat für Wirtschaft verzichten auf eine Vernehmlassung.