A few observations: I don't see the bearing surface for the large angular contact bearing. It should be right behind the main flange, but you are showing an angled surface there.
It is not a good idea to use only two bearings. The heat buildup needs to be compensated for, or the bearing preload will increase as the spindle warms up and bearing failure will ensue because they will run really hot.
So, use pairs of angular contact bearings, with the larger main bearings being a preloaded set that mounts back to back in the lower end of the housing. This pair is securely locked in place to position the spindle accurately (axially) in the housing.
The upper pair of bearings should be fastened securely to a shoulder on the upper end of the shaft. They are also a preloaded set that are locked back to back on the shaft. However, the outer races on this pair should be a close slide fit in the housing. This is where the expansion and contraction is compensated.
I am not sure about the die spring. Belleville washers have advantages because they might give better balance. They are also very stiff with a very high spring rate. But, one thing I have not figured out about the "real cnc's" with this retention knob system, is what is applying the pressure to release the tool, and what is bearing the load while this takes place. I'd like to see something that is not pressing the hell out of the spindle bearings and Z axis ballscrew supports. Ideally, this would be something that locks onto the spindle shaft itself, and then bears against that lock and the spring to do the tool release.
First you get good, then you get fast. Then grouchiness sets in.
(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)