When I'm setting up an appointment and select the All day event check box, Outlook changes the Show time as value from Busy to Free. Have I found a bug?

Instead of being a bug, this behavior actually is by design. A primary use of the All day event check box is for events that don't involve a specific time commitment—for example, holidays, birthdays, and anniversaries. Although you can't alter Outlook's default behavior of changing Busy to Free for all-day events, you can certainly set Free back to Busy after you select the All day event check box.