If I understand correctly, you're saying I need to set the 'include' variable to '$(#boost.base)'?
Yes.
How come I don't need to do this for 'wx'?
Because wxWidgets has an "include" and "lib" folder named as the fields of the GCV. GCV's are replaced like the field-names by default, if the entry is empty. So... by default for boost this means:
$(#boost.include) = [Boost base Path]\include
$(#boost.lib) = [Boost base path]\lib
...ans so on - which is incorrect for boost as you see.
Setting the field of $(#boost.include) to $(#boost.base) will resolve the boost GCV in way, that the includes will work, as they are not under [Boost base path]\include, but directly under [Boost base path].
That's what the concept of GCV's is for in the end and what differs them from environment / custom variables.
Note that using plain $(#boost) as compiler include path is actually not precisely correct. That's why I've changed it.
Edit: See also here:
http://wiki.codeblocks.org/index.php?title=Global_compiler_variables