Well I played with it a while. Your conclusion I think is not correct. The Workbook type is irrelevant.
case 1. If you use Workbook close event to close the workbook The Before close event will trigger every time w/o fail.
case 2. If you are closing the Application (by Application.Quit or by the X close button) - BeforeClose event will only work once. If you cancel the closing process and then you try again to quit the application the event will not be triggered (although Workbook Close will still trigger it)
Tested on Excel 2016 32 bit, Windows 7 64 bit.
I am pretty sure the behavior will be similar on most if not all systems.
And I believe things are working normally although I may not always understand the mysterious ways ...