Could you elaborate on 'start from a solution and keep expanding it'? I thought of it more like checking the field for certain patterns that tell if it can't be solved and generating fields until one passes that check.
Start with 4 different color cubes, each with the value of 128.
Then just keep splitting them until you have a full the game. You'll need some intelligence in deciding which cubes to split and where to stack the split cube.
But if you reach a state where you can't split anymore you can must backtrack and try again.
Loved the game.
To make it generate winnable games just start from a solution and keep expanding it until you get to the initial game state.