«Foi-o» é uma construção possível e correta, que pode ocorrer em frases predicativas, em que o predicativo do sujeito é substituído pelo clítico demonstrativo invarável -o: «Foi-o» (o = «um pouco de tudo isto junto»).
Trata-se, portanto, de uma estrutura com um predicado nominal — com um verbo copulativo (ser) — que seleciona um constituinte com a relação gramatical de predicativo de sujeito que «pode ser substituído pelo clítico demonstrativo invariável -o» (Mira Mateus et alii, Gramática da Língua Portuguesa, Lisboa, Caminho, 2003, p. 292). Repare-se nos exemplos aí citados:
(a) P: A Maria é inteligente?
R: Sim, é-o (o = inteligente)
(b) Ela é simpática, e os seus irmãos também o são. (o = simpáticos).
Sobre o predicativo do sujeito, poderá consultar a obra acima citada (pp. 278-279) e sobre a sua substituição (pp. 290-292). Uma outra fonte: Cunha e Cintra, Nova Gramática do Português Contemporâneo, Lisboa, Sá da Costa, 2002, pp. 135-136.