You can cause errors even with changing a single character in your code, so small or big does not mean much. As for the issue, each gate of a compound module MUST be connected to some other submodule gate.
module wirelessnodehost extends wirelessnode
{
gates:
inout gate[];
}
here 'gate' is gate of a compound module and clearly not connected to anywhere. What should happen if a message arrives to the gate?
BTW your code has a lot of other issues, like you are using a compound module for both wirelessnodehost and wirelessnode, while your code is defined in the wirelessnodehost class, but that code will be never executed, as you defined the wirelessnodehost using the 'module' keyword insead of the 'simple' keyword.