The Guid is definitely what dictates the +1 caster level. Here is my best workaround so far:
I added a field to all of the info class... tables called "PlusCasterLevel" (Type Yes/No).
I renamed all of the "info class ..." tables to "info class ..._BU" and made a query using the original table name that includes all of the fields from the original table (except PlusCasterLevel). This way, when the front end grabs the data it gets it from the query rather than the table. Note: I saw the [info class].[Guid] is used as a lookup in one of the other tables, but I havent gone back to search for it, so somthing is probobly broke (I think is is somewhere in the NPC generator).
I then deleted the Loremaster from all of the tables then added it back in. Now I have the old Loremaster Guid avialable (it is not assigned to any class).
For Guid in each of the queries I have:
Guid: IIf([PlusCasterLevel]=Yes,{guid {B2DD6C2B-0750-43FB-8BF1-D349A570E8DF}},[info Class].[Guid])
I then wrote a little VB program that sets whatever class I pick to PlusCasterLevel = Yes.
End Result: Whatever class I pick gets the magic {B2DD6C2B-0750-43FB-8BF1-D349A570E8DF} Guid and hence the + 1 caster level. Unfortunately, only one class can have this at a time, and to change, you need to run the VB program from outside ETools.
The better applroach is to change the line of coad in the .dll file that says If Guid == {B2DD6C2B-0750-43FB-8BF1-D349A570E8DF} then ... to something like if PlusCasterLevel == Yes then ...
I will keep working on my approach and wait and see if Fluid/Somebody have any luck with the dlls. I am just giving the details because it does work even if it is kind of a pain... and maybe it will spark an idea with someone that is cleaner...
Brent