After posting my question, I went over to Microsoft's knowledgebase and discovered this is a known bug. Here's their article BUG: The TransparencyKey property is not effective...
I tried the workaround they gave but still couldn't get it working. Part of the problem is that they gave a VB2005 example and I wasn't sure where that code should go in VB2008.
Anyway, I was just playing around with this out of curiosity. So, while I wished it worked, it's not critical.
On another topic, I'm slowly reading through your book. This is mainly a review for me. I just want to make sure I'm not missing anything. I just read your discussion of AndAlso and OrElse. While the example you gave of having a time consuming function call as the second operand is a good one, I think you should also have used this example:
if x <> 0 And y/x > 1 then
if x <> 0 AndAlso y/x >1 then
The "And" version looks like it should work, but will throw an exception if x is zero, while the "AndAlso" version works as expected.
Thanks for the help.