Faits:
A. Par jugement du 27 juin 2008, le Tribunal correctionnel de l'arrondissement de l'Est vaudois a condamné A._ à une peine privative de liberté à vie, pour meurtre et assassinat de sa mère, respectivement d'une amie de celle-ci et de sa soeur. Cette condamnation a été confirmée par la Cour de cassation pénale du Tribunal cantonal vaudois (ci-après: la Cour de cassation) par arrêt du 29 octobre 2008.
Après l'admission d'une demande de révision, la cause a été renvoyée le 23 novembre 2009 devant le Tribunal criminel de l'arrondissement de Lausanne. Par jugement du 18 mars 2010, le Tribunal criminel a confirmé la condamnation. A._ a recouru auprès de la Cour de cassation.
B. Le 15 septembre 2010, A._ a formé une demande de mise en liberté auprès du Président de la Cour de cassation, qui l'a rejetée par arrêt du 23 septembre 2010. A._ a à nouveau saisi la Cour de cassation.
Par arrêt du 4 octobre 2010, la Cour de cassation a rejeté le recours formé contre la condamnation. Par arrêt du 8 octobre suivant, elle a rejeté le recours en matière de détention. Les présomptions de culpabilité ressortaient du jugement de condamnation, confirmé par la Cour de cassation. La perspective de devoir subir une condamnation à vie impliquait un risque de fuite concret. L'intéressé, de nationalité suisse et ayant vécu en Suisse dès son adoption en 1973, était brouillé avec les membres de sa famille, en instance de divorce et sans enfant. Il n'avait de liens en Suisse qu'avec une amie qu'il avait connue en 2009 alors qu'il était en détention, qui lui rendait régulièrement visite et s'occupait de sa résidence. Compte tenu de son âge et des moyens dont il pouvait disposer, il pouvait être tenté de fuir pour "refaire sa vie à l'étranger". Au regard de l'intensité de ce risque, la caution de 50'000 fr., offerte par son amie, ainsi que le dépôt des papiers d'identité et les mesures de contrôle n'apparaissaient pas suffisants pour empêcher une fuite. Sous réserve du recours formé auprès du Tribunal fédéral, la procédure était terminée et n'avait pas connu de retard injustifié, de sorte que le principe de la proportionnalité était respecté.
C. Par acte du 15 novembre 2010, A._ forme un recours en matière pénale. Il conclut à l'annulation de l'arrêt de la Cour de cassation du 8 octobre 2010 et à sa mise en liberté immédiate, le cas échéant sous conditions, subsidiairement au renvoi de la cause à la cour cantonale pour nouvelle décision au sens des considérants. Le recourant a ensuite demandé l'assistance judiciaire.
La Cour de cassation se réfère aux considérants de son arrêt. Le Ministère public conclut au rejet du recours.
Le recourant a répliqué.

Considérant en droit:
1. Le recours en matière pénale, au sens de l'<ref-law>, est ouvert contre une décision relative au maintien d'une détention préventive, avant ou après jugement. Le recourant a qualité pour agir au sens de l'<ref-law>. Il a agi en temps utile (<ref-law>).
2. Invoquant les art. 6 CEDH, 29 et 30 Cst., le recourant se plaint de la participation des juges X._ et Y._ à l'arrêt attaqué alors que ces magistrats avaient déjà statué avec la Cour de cassation, le premier sur le recours dirigé contre le jugement du 27 juin 2008, le second sur le recours contre le jugement du 18 mars 2010. Dans les deux cas, les magistrats s'étaient prononcés sur la réalité des charges retenues contre le recourant.
2.1 La garantie d'un tribunal indépendant et impartial instituée par les art. 30 al. 1 Cst. et 6 par. 1 CEDH (qui ont, sous cet angle, la même portée; <ref-ruling> consid. 2e p. 138) permet, indépendamment du droit de procédure cantonal, d'exiger la récusation d'un juge dont la situation ou le comportement est de nature à susciter un doute quant à son impartialité. Le fait que le juge a déjà participé à l'affaire à un stade antérieur de la procédure peut éveiller un tel soupçon. Renonçant à résoudre une fois pour toutes la question de savoir si le cumul des fonctions contrevient ou non aux art. 30 al. 1 Cst. et 6 par. 1 CEDH (cf. <ref-ruling> consid. 3d p. 57 ss et les arrêts cités), la jurisprudence exige cependant que l'issue de la cause demeure indécise quant à la constatation des faits et à la résolution des questions juridiques. Il faut, en particulier, examiner les fonctions procédurales que le juge a été appelé à exercer lors de son intervention précédente, prendre en compte les questions successives à trancher à chaque stade de la procédure, et mettre en évidence leur éventuelle analogie ou leur interdépendance, ainsi que l'étendue du pouvoir de décision du juge à leur sujet; il peut également se justifier de prendre en considération l'importance de chacune des décisions pour la suite du procès (<ref-ruling> consid. 3b p. 139 et les arrêts cités; cf. aussi: <ref-ruling> consid. 2a p. 169).
2.2 En matière de procédure pénale, la jurisprudence a sanctionné le cumul des fonctions de juge du renvoi et de juge du fond (<ref-ruling> consid. 4 et 5 p. 60 ss), ainsi que de juge du mandat de répression et de juge du fond (<ref-ruling> consid. 7b p. 151 ss). En revanche, elle ne condamne pas l'union personnelle du juge de la détention et du juge du fond, les questions à résoudre étant suffisamment distinctes (<ref-ruling> consid. 3b p. 184 ss): le premier doit en effet s'interroger prima facie sur l'existence de charges suffisantes, alors que le second doit examiner définitivement le bien-fondé de l'accusation, au terme d'une appréciation de l'ensemble des preuves (CourEDH, arrêt Nortier contre Pays-Bas du 24 août 1993, Série A, vol. 267, RUDH 1993 p. 419).
Le recourant soutient, en citant l'arrêt CourEDH Ekeberg contre Norvège du 31 juillet 2007 (publié in: Forumpoenale 2008 p. 258), que la jurisprudence européenne aurait évolué sur ce point. Il n'en est rien: l'arrêt en question rappelle qu'il y a lieu de s'interroger sur l'identité des questions à résoudre, et retient qu'il y a matière à récusation lorsque le juge de la détention (appelé à statuer ensuite sur le fond) s'est livré à un examen plus approfondi des charges en recherchant l'existence d'une prévention d'infraction qualifiée.
2.3 En l'occurrence, les juges X._ et Y._ ont déjà participé à des décisions sur recours, ayant trait au bien-fondé de la condamnation du recourant. Toutefois, l'existence de charges suffisantes - à la base de toute décision de maintien en détention préventive - n'était plus contestée dans le recours en matière de détention soumis à la Cour de cassation. Le Président avait en effet considéré que ces charges pouvaient se déduire du jugement du Tribunal d'arrondissement de Lausanne, quand bien même celui-ci avait fait l'objet d'un recours. Devant la Cour de cassation, le recourant n'a pas remis en cause cette appréciation; son recours cantonal portait exclusivement sur l'existence d'un risque de fuite et sur les mesures de substitution proposées par le recourant. La cour cantonale ne s'est dès lors livrée à aucun examen matériel des charges retenues contre le recourant, se limitant elle aussi à se référer au jugement du 18 mars 2010 sur ce point. Les questions que les magistrats en cause ont été appelés à résoudre étaient, par conséquent, totalement différentes, de sorte qu'il n'y a aucun motif de récusation. Le grief doit être écarté.
3. Invoquant la liberté personnelle, le recourant conteste l'existence d'un risque de fuite. Il relève qu'il a la nationalité suisse, qu'il réside en Suisse depuis 37 ans et y a tous ses biens, et qu'il n'a aucune attache avec l'étranger ni aucune ressource qui lui permettrait de vivre à l'étranger, alors qu'il entretient une relation intime sérieuse, depuis janvier 2009, avec une amie qui s'est engagée à le prendre en charge financièrement et à vivre avec lui. Durant l'instruction, il a systématiquement répondu aux convocations. Le recourant relève également que l'importance de la peine encourue ne suffit pas à elle seule pour admettre le risque de fuite.
3.1 Selon la jurisprudence, le risque de fuite ne peut effectivement s'apprécier sur la seule base de la gravité de l'infraction même si, compte tenu de l'ensemble des circonstances, la perspective d'une longue peine privative de liberté permet souvent d'en présumer l'existence (<ref-ruling> consid. 3a p. 62); il doit s'analyser en fonction d'un ensemble de critères tels que le caractère de l'intéressé, sa moralité, ses ressources, ses liens avec l'Etat qui le poursuit ainsi que ses contacts à l'étranger (<ref-ruling> consid. 4 et les arrêts cités).
3.2 Dans son arrêt 1B_81/2008 du 18 avril 2008, le Tribunal fédéral avait déjà examiné la question du risque de fuite, alors que le recourant avait été renvoyé en jugement une première fois devant le Tribunal criminel de l'arrondissement de l'Est vaudois. Le risque de fuite reposait essentiellement sur la gravité des charges (soit trois assassinats). Le Tribunal fédéral avait alors reconnu qu'il s'agissait d'un élément important dans l'évaluation du risque de fuite. Compte tenu du renvoi en jugement du recourant, la perspective d'une éventuelle condamnation s'était encore rapprochée, ce qui augmentait d'autant le risque de fuite. Pour le surplus, l'examen de la situation personnelle du recourant venait confirmer ce risque: déjà avant les faits, le recourant était brouillé avec les membres de sa famille; il était en instance de divorce et son amie d'alors était retournée vivre chez ses parents. Sa situation financière était elle aussi largement compromise. Ses attaches actuelles avec la Suisse (une amie qui lui rendait régulièrement visite et sa résidence des Monts-de-Corsier) n'apparaissaient dès lors pas suffisantes pour prévenir une fuite à l'étranger. Ces considérations conservent toute leur pertinence après que le recourant a été condamné une première, puis une seconde fois, à une peine de privation de liberté à vie, soit la plus lourde des sanctions prévues en droit pénal suisse. En dépit du recours formé auprès du Tribunal fédéral, la perspective de devoir purger une peine de détention à vie constitue un motif évident de passer dans la clandestinité, en dépit des sacrifices que cela peut impliquer pour le recourant. Le risque de fuite apparaît indéniable.
3.3 Le recourant estime que des mesures de substitution, soit le versement d'une caution de 50'000 fr., le dépôt des papiers d'identité, l'obligation de se présenter périodiquement et le port d'un bracelet électronique, seraient susceptibles de pallier le risque de fuite. Il n'en est rien.
3.3.1 Lorsqu'une détention se prolonge uniquement en raison de la crainte de voir l'accusé se soustraire par la fuite à sa comparution ultérieure devant ses juges, l'intéressé a le droit d'être libéré s'il peut fournir des garanties adéquates de représentation (art. 5 par. 3 CEDH; art. 9 al. 3 Pacte ONU II; <ref-ruling> consid. 3.2 p. 29-30; CourEDH, arrêts Wemhoff contre Allemagne du 27 juin 1968, série A, vol. 7, par. 15; Letellier contre France du 26 juin 1991, série A, vol. 207, par. 46). Ces garanties ne se limitent pas au versement d'une caution financière; elles peuvent également consister en des mesures de contrôle judiciaire, telles que l'obligation de se présenter à une autorité déterminée ou le dépôt du passeport ou des papiers d'identité, lorsque ces mesures sont propres à assurer la présence du prévenu aux actes d'instruction et aux débats (<ref-ruling> consid. 3.2 p. 29 s. et les références citées).
3.3.2 La caution proposée par le recourant ne serait pas versée par lui-même, mais par son amie. Or, on ignore tout de la situation financière de cette dernière, dont la relation avec le recourant a commencé alors que celui-ci était en détention. Rien ne permet par conséquent d'affirmer que le versement d'une telle somme par un tiers serait propre à dissuader le recourant de prendre la fuite ou de disparaître pour se soustraire à l'exécution d'une peine qu'il considère comme injustifiée. Comme le relève la cour cantonale, les autres mesures proposées permettraient tout au plus de constater une fuite, mais nullement de l'empêcher.
4. Sur le vu de ce qui précède, le recours est rejeté. Le recourant a demandé l'assistance judiciaire. Toutefois, comme l'a constaté le Tribunal fédéral dans son arrêt 1B_149/2010 du 1er juin 2010, le recourant ne démontre pas être privé de ressources au point de ne plus pouvoir assurer ses frais de défense. Cela vaut également pour le présent recours, le recourant ne faisant valoir aucun élément nouveau à l'appui de sa demande d'assistance judiciaire. Conformément à l'<ref-law>, les frais judiciaires sont mis à sa charge.

Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté.
2. La demande d'assistance judiciaire est rejetée.
3. Les frais judiciaires, arrêtés à 1000 fr., sont mis à la charge du recourant.
4. Le présent arrêt est communiqué au mandataire du recourant, au Ministère public et au Tribunal cantonal du canton de Vaud, Cour de cassation pénale.
Lausanne, le 7 décembre 2010
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le Président: Le Greffier:
Féraud Kurz