What exactly would you like it to display when a block is 0? Intuitively, it would be a 0-sized block, so there's nothing to show.
If you want to force it to display, you could add 0.000001 to your values (so it's no longer 0) but still display it as an integer, or you could write an If() statement to fill something in for 0 values that would still be displayed.
A block chart will show your expression values as proportional area share of the available chart area.
A zero value / share will result in no area plotted, i.e. this dimension value will not be shown in the chart.
How would you like to show your zero value?
You could test your expressions on returning zero, then maybe add a certain number just to show it in your chart, but either
a) the number is chosen too small, so you can only see the value when hovering exactely at a certain position in your chart / hovering over a border of another area. You won't be able to actually see the area.
b) the number is chosen large enough to see the area, but then this would probably render the whole chart showing incorrect shares of all dimensional values.
I think the block chart is just not the right chart to show all dimensional values if some of them return a zero expression result. Chose another chart representation if you need to show all dimensional values.