Of course it will return null if path is deeper. A directory does not have a label, only a drive does.
But mIRC is not being consistent. $disk(c:\windows\).free and $disk(c:\windows\).type and $disk(c:\windows\).size all return the appropriate values, while $disk(c:\windows\).label is being handled differently. You could argue that a directory doesn't have a .type either, and the .size is not related to a specific directory either. If it's not returning a value because directories don't have a label, then it shouldn't return the label for non-existant folders or existing c:\path\filenames either.
I wasn't needing to get 'windows' out of c:\windows, i was using it as an example of a foldername that should exist for most people. Like lots of bugs in the past, extra scripting can be added to handle it, I just wasn't expecting that I'd need to do that since all the other .prop didn't require it.