Assuming you are using the latest version of the OSI client.exe to login and test:
If AOS+ features are not enabled in the client, the client will likely expect the old spellbook content packet format from the server, however, the server determines which packet format to use based on your client version, so it will always be sending the most recent packet format.
You can test this theory by modifying the Spellbook.DisplayTo method with something like this, so that it always forces older packets to be sent: