The 3 chapters on OOP (Classes and Objects, Inheritance and Interfaces, and Event Handling and Delegates) are by far the clearest I have read on the subject. That goes for both text and example code, which are working! If only for these 3 chapters, which cover 40% of the 422 usable pages, it's worth the price of the book.
Gary Cornell does state that these 3 chapters form the core of the book, and after reading this book and Dan Appleman's "Moving to VB.NET", I totally agree that developers "will find it extremely hard to take advantage of VB.NET's new powers" if they don't utilize OOP in VB.NET. Knowing, and being comfortable with, OOP makes it so much easier to develop solutions using VB.NET, and the .NET framework in general.
I thought the 2 intro chapters on VB.NET IDE and "vocabulary" were informative and not boring, and that goes for the chapter on Multithreading.
I would have liked to see a longer and more detailed treatment of Error Handling, and some "real" examples for the Windows Forms chapter.
In "About This Book", the author set 3 objectives: a complete treatment of OOP in VB.NET, fundamentals of VB.NET techniques, and differences between VB.NET and earlier versions. He has succeeded in these 3 objectives!
I will disagree though with the note on not assuming any knowledge of earlier versions of VB. Experienced VB5/6 programmers WITH some real C++ (OOP) experience will benefit the most from this book.