At first i was not very fond of LINQ but it seems that i am finally convinced that LINQ may improve readability:

bool IsCompleted()
{
var boxesNotOnGoal = from cell in Cells
where cell.HoldsBox() && !cell.IsGoal()
select cell.Piece;

return boxesNotOnGoal.Any();
}