Faits:
A. A.a S._, né en 1946, est au bénéfice d'une rente entière de l'assurance-invalidité depuis le 1er juillet 1990. Du 1er octobre 1993 au 30 avril 1994, il a dirigé l'établissement «N._ SA», sur la commune de X._, pour un salaire mensuel de 5'000 fr. Il s'est annoncé à l'assurance-chômage le 1er mai 1994, en déclarant qu'il était apte à travailler à temps partiel (50 %) dans une activité légère.
Au cours des mois d'octobre et de novembre 1994, l'assuré n'a pas donné suite à plusieurs assignations d'emplois de l'Office communal du travail de x._ (aide-concierge, portier d'hôtel, portier d'étages, vendeur, à raison de trois heures par jour, dans le bar à champagne d'un hôtel).
Par décision du 29 mai 1995, l'Office cantonal valaisan du travail (aujourd'hui : Service de l'industrie, du commerce et du travail) a nié l'aptitude au placement de l'assuré, à partir du 10 mai 1994, au motif qu'il était au bénéfice d'une rente entière de l'assurance-invalidité et qu'il n'avait pas donné suite aux assignations de l'Office communal du travail de X._. La Commission cantonale valaisanne de recours en matière de chômage, puis le Tribunal fédéral des assurances (aujourd'hui : Ire et IIème Cours de droit social du Tribunal fédéral), ont rejeté les recours successifs de l'assuré (jugement du 9 juillet 1996 et arrêt du 21 avril 1998).
A.b Le 12 mars 1998, la Caisse publique cantonale valaisanne de chômage (ci-après : la Caisse) a exigé la restitution d'un montant de 29 536 fr. 45 correspondant aux indemnités journalières versées à l'assuré pour la période du 10 mai au 31 décembre 1994. La Commission cantonale valaisanne de recours en matière de chômage a rejeté le recours de l'assuré contre cette décision, par jugement du 21 mars 2002.
A.c L'assuré a demandé la remise de l'obligation de restituer les prestations. La Caisse a transmis cette demande au Service de l'industrie, du commerce et du travail, qui l'a rejetée par décision du 19 mai 2003 et décision sur opposition du 24 juillet 2003. Il a considéré que l'assuré n'était pas de bonne foi en percevant les prestations indues.
B. Par jugement du 23 novembre 2006, notifiée le 17 mai 2007, la Commission cantonale valaisanne de recours en matière d'assurance-chômage a rejeté le recours de l'assuré contre la décision sur opposition du 24 juillet 2003.
C. S._ interjette un recours contre ce jugement, dont il demande l'annulation, sous suite de frais et dépens. L'intimé a renoncé à se déterminer sur le recours, dont le Secrétariat d'Etat à l'économie a proposé le rejet.

Considérant en droit:
1. La loi sur le Tribunal fédéral du 17 juin 2005 (LTF; RS 173.110) est entrée en vigueur le 1er janvier 2007 (RO 2006 1205, 1242). L'acte attaqué ayant été rendu avant cette date, la procédure reste régie par l'OJ (<ref-law>; <ref-ruling> consid. 1.2 p. 395).
2. Le recourant soutient, en premier lieu, que sa cause n'a pas été tranchée par un tribunal indépendant et impartial, en violation des art. 30 al. 1 Cst. et 6 par. 1 CEDH. Pour toute motivation à l'appui de ce grief, il relève que les membres de la Commission cantonale valaisanne de recours en matière de chômage ne sont pas des juges élus. Il est douteux que, sur ce point, le recours réponde aux exigences de motivations posées par l'art. 108 al. 2 OJ. Quoi qu'il en soit, la jurisprudence a déjà considéré que la nomination des membres d'une commission de recours par un organe exécutif ne permettait pas de mettre en doute leur indépendance ou leur impartialité (<ref-ruling> consid. 4a p. 377 sv.). Le grief formel soulevé par le recourant est donc mal fondé.
3. 3.1 Sur le fond, le recourant conteste avoir été de mauvaise foi en percevant les indemnités dont la Caisse exige maintenant la restitution. Il soutient qu'il s'est toujours fortement impliqué pour rechercher un emploi correspondant à une aptitude au placement de 50 % dans une activité légère. Il n'a finalement pas été reconnu apte au placement en raison d'un handicap physique qu'il n'avait jamais cherché à cacher aux organes de l'assurance-chômage.
3. 3.1 Sur le fond, le recourant conteste avoir été de mauvaise foi en percevant les indemnités dont la Caisse exige maintenant la restitution. Il soutient qu'il s'est toujours fortement impliqué pour rechercher un emploi correspondant à une aptitude au placement de 50 % dans une activité légère. Il n'a finalement pas été reconnu apte au placement en raison d'un handicap physique qu'il n'avait jamais cherché à cacher aux organes de l'assurance-chômage.
3.2 3.2.1 Aux termes de l'<ref-law>, est réputé apte à être placé le chômeur qui est disposé à accepter un travail convenable et à participer à des mesures d'intégration, et qui est en mesure et en droit de le faire. L'aptitude au placement comprend deux éléments : la capacité de travail, d'une part, et la disposition à accepter un travail convenable au sens de l'<ref-law>, d'autre part. Ce deuxième aspect de l'aptitude au placement implique la volonté de prendre un tel travail s'il se présente (<ref-ruling> consid. 6a p. 58, 123 V 214 consid. 3 p. 216).
3.2.2 La bonne foi de l'assuré lorsqu'il a perçu les prestations dont la restitution est exigée est une condition posée à la remise de l'obligation de restituer, aussi bien d'après la législation en vigueur jusqu'au 31 décembre 2002 (art. 95 al. 2, 1ère phrase, LACI, dans sa teneur en vigueur à l'époque) que d'après les dispositions introduites par la LPGA dès le 1er janvier 2003 (art. 25 al. 1, 2ème phrase, LPGA). L'ignorance, par un assuré, du fait qu'il n'avait pas droit aux prestations versées ne suffit pas à admettre qu'il était de bonne foi. Encore faut-il que l'assuré ait fait preuve de l'attention qu'on pouvait raisonnablement exiger de lui, compte tenu des circonstances. L'assuré peut exciper de sa bonne foi lorsqu'il n'a commis qu'une négligence légère, mais pas en cas de négligence grave (SVR 2007 IV no 13 p. 49 [I 622/05] consid. 3).
3.3 Dans l'arrêt du 21 avril 1998 concernant l'assuré, le Tribunal fédéral des assurances a notamment nié l'aptitude au placement de S._ au motif qu'il n'avait pas donné suite à plusieurs propositions concrètes de travail et qu'il avait effectué des recherches d'emploi pour la forme, sans qu'apparaisse une volonté véritable de sa part de retrouver un emploi adapté à son état de santé. A défaut d'être disposé à accepter un emploi convenable au sens de l'<ref-law>, l'assuré n'était pas apte au placement.
Il n'y a pas lieu de revenir sur ces constatations, le recourant n'apportant à cet égard aucun élément de preuve nouveau. Elles excluent la bonne foi de l'assuré au moment de percevoir les indemnités journalières de chômage dont la restitution est exigée. En effet, le recourant ne pouvait ignorer que la disponibilité à accepter un emploi convenable était une condition essentielle du droit à ces prestations. Sur ce point également, le recours est donc mal fondé.
4. Le recourant voit ses conclusions rejetées, de sorte qu'il ne peut prétendre de dépens à la charge de l'intimé (art. 159 al. 1 OJ). La procédure ne porte pas sur l'octroi ou le refus de prestations d'assurance, de sorte qu'elle est onéreuse (art. 134 OJ a contrario). Le recourant supportera les frais de justice (art. 156 al. 1 OJ).

Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté.
2. Les frais judiciaires, arrêtés à 2'000 fr., sont mis à la charge du recourant.
3. Le présent arrêt est communiqué aux parties, à la Commission cantonale valaisanne de recours en matière de chômage, à l'Office régional de placement, à la Caisse publique cantonale valaisanne de chômage et au Secrétariat d'Etat à l'économie.
Lucerne, le 2 avril 2008
Au nom de la Ire Cour de droit social
du Tribunal fédéral suisse
Le Président: Le Greffier:
Ursprung Métral