Faits: A. Le 24 octobre 2004, X._ a pris le volant alors qu'il avait consommé de l'alcool. Lors d'un dépassement sur l'autoroute, entre Vevey et Chexbres, il a perdu la maîtrise de son véhicule et heurté la glissière centrale. Après cet accident, sachant que son alcoolémie allait être contrôlée, il a bu le solde d'une bouteille de whisky afin d'empêcher l'exploitation des résultats de la prise de sang. B. Par arrêt du 24 septembre 2007, réformant un jugement du Tribunal de police de l'arrondissement de l'Est vaudois rendu le 25 juin 2007, la Cour de cassation pénale du Tribunal cantonal vaudois a condamné X._, pour dérobade à la prise de sang (art. 91 al. 3 aLCR) et violation simple des règles de la circulation (art. 90 ch. 1 aLCR), à trois mois d'emprisonnement. Elle a suspendu l'exécution de cette peine et imposé au condamné un suivi d'abstinence à l'alcool auprès d'un médecin spécialisé en alcoologie, pour la durée que ce praticien estimerait nécessaire. C. Se plaignant d'une violation de l'art. 2 al. 2 CP, X._ recourt au Tribunal fédéral contre cet arrêt, dont il conclut à la réforme en ce sens qu'il est condamné, en application du nouveau droit, à un travail d'intérêt général, subsidiairement à 90 jours-amende d'un franc chacun, avec sursis pendant cinq ans, sans suivi d'abstinence à l'alcool. Au préalable, il demande à être mis au bénéfice de l'assistance judiciaire. Se référant aux motifs de l'arrêt attaqué, le Procureur général du canton de Vaud et la Cour de cassation pénale du Tribunal cantonal vaudois ont renoncé à se déterminer. 