Lol. Just reading this "guide" made me started laughing. It is quite clear to me that, while you think you know what you're talking about, you really have no idea. Let me break it down for you.
Firstly, you mention RID as a bot that uses bcel/reflection which is untrue, as RID is a color bot.
Bytecode Bots
Also known as injection bots, these bots inject accessors (also called accessors methods- see here for more details:
http://faq.javaranch.com/view?AccessorMethods) into the client so that one's bot can obtain (or set) the value of the data that the fields hold. You notice that I didn't call this "BCEL" as you did, because you've limited yourself to a single library of functions for this. What I mean by that, is that you've completely ignored other bytecoede editing libraries that accomplish the exact same thing that the BCEL (or Bytecode Engineering Library) accomplishes. Some examples of other libraries that could be used to inject accessors are the ASM Library (
http://asm.ow2.org/), Javassist (
http://www.jboss.org/javassist/), etc. I find it funny how you refer to thing that you clearly do not understand, saying "BCEL is an application within the bot that modifies the small layers of coding within the RuneScape game client to produce the debugging menus that you see in RSBot." BCEL is a library of functions that are used to change the bytecode of Java class files. The debugging menu's to which you refer are merely things drawn upon the RuneScape canvas, and nothing more (without the debugging menu's, the bot would be no different at all). The EXACT same thing can be done with a reflection bot that xboots java.awt.Canvas, so I'm not sure where you were going off there. You go onto talk about IP addresses, which makes absolutely no sense, as, bytecode bots modify runescape.jar (rs.jar in rsbot) and load that modified client. There is no way anybody could detect this modifying, especially, as the person with the updater is the one changing the bytecode of rs.jar, and the individual user isn't changing anything in rs.jar, as it's already been modified.
Reflection Bots
This section made even less sense then your section on Bytecode bots. Now, unless "Reflection simply reflects exactly what is on the game screen into the bot's application" means "Reflection does the same thing as bytecode bots do, but instead of injecting accessors into the client to obtain the value of the fields, it reflects upon the value of the fields, so that the value can be obtained without modification of the client," then you are incorrect. Now, of course it accesses the fields of the client, it just does so in a different way then BCEL does. Reflection doesn't "video" the screen at all, and it is nothing like a human player playing the game- it reflects upon the fields of the client and does things based off of that.
Don't take this the wrong way- I'm sure you are just trying to inform everybody with your knowledge, but it isn't doing people a justice if you're trying to inform them, while you yourself are not well informed in the first place.