@Barry, I absolutely agree with you & your design practice. I was about to give somewhat similar answer.
When I started my career in VLSI, I was a big fan of writing structural code (as it gives me all the control of design rather than giving it to synth tool). However as designs grow, it becomes nearly impossible to have a structural code. Mostly behavioral is the best, without giving much consideration to what type of code you are writing (It should be 'good' code off-course, just don't worry if it is struc or behav etc ). Tools these days are very very mature & optimize behavioral code to a very high degree. Only thing to remember is that you are using a HDL and NOT a programming language. HDL is a 'Description' language for the HW you want to make & you should clearly know what HW you want to design. Best is to have on paper what your blocks/sub-blocks should be & how they'll be connected. (Though with increasing silicon area & intelligent tools, this practice is fast becoming obsolete).
PS: BTW, in my opinion, schematic entry is a big no-no (thats just my opinion & could be completely wrong). Even if you use a schmetic entry, make sure you use it to generate structural code & THOROUGHLY check the generated code. (I somehow, always have a difficulty in trusting generated code except synthesized netlist, I know that's a irony after all schematic entry tools should be much simpler than synth tool)