don't know if he got it working but I just thought here was the best place to put this.
so to remove the squirrels fire red ev cap limiter you change the values at the 2 addresses.
439E0 from 40 to C0
43A3C from FD 01 to F9 05
So quick translation of what I found. the first address value is the per stat limit, 40 in hex translates to 64.
The second address is for the total ev cap. FD 01 if you reverse that using I think its called little indian or something, its 1FD which is 509.
The 64 is the max per stat ev stat gain rounded up. 255 evs per stat /4 gives 63.75 gain (which is odd because the values round down ingame.
The 509 is 1 minus the total ev limit. 255 x 2 = 510
So the changes aren't exactly removing the limiter completely but raising it to, +192 stat points per stat. & 1152 total evs. The first one is crazy high, and means you can get 768 evs in any one stat.
edit:
So I've used modexe to compare since that also deals with ev-cap and I think the above method isn't the complete solution.
So in mod exe they have a value that says, "Ev's cap to 252" which is useful because pokemon games round down so getting that 64 points is actually impossible.
But the offsets they have listed for fire red are 0x0439FC & 0x043A02.
The bytes listed there are listed at FF.
So I think this part is for the max per stat evs.
To actually raise the ev cap I believe you'd need to change all 4 of these.
439E0 - for the amount of stat points you want to gain.
43A3C - for the total ev cap minus 1.
&
0439FC & 043A02 - for the per stat ev cap.
ok now to bring it back to topic,
cfru is a C-injector so it uses both binary to directly hack the rom, the decomp-esque C functions to change mechanics and rearrange data automatically without needing touch it directly.
for CFRU you need to deal with the values for MAX_TOTAL_EVS, totalEvs, & currentEv, all found in the exp.c function around line 699.
and EV_Cap there, and in asm_defines.s (personally I found I had to remove the value EV_Cap from several values in the defines file, because once I raised it they no longer worked, so I deleted the value ev cap everyone else it was listed that didn't have to do with evs or experience in asm_defines.s and just replaced it with FF so it was still about the same.
I also added the first two addresses to the file that only listed 0439FC & 043A02, don't know if that's necessary.)
Now the reason I believe the ev cap fix doesn't work by itself, in base game, totalEVs and currentEV are limited to 1 byte which has a max value of FF aka 255.
And there's no space to change the second set of addresses that change the actual per stat cap.
But in cfru you can change the space allocated for the ev values from 1 byte to 2 bytes.
Changing only the first set without the second, only increases the max evs you can gain, but not the per stat cap.
So what happens is you can gain a lot more evs, but once the per stat limit is reached, it will just reset to 0. -_-
Now, you should be able to do this in binary to make it actually work, if there are pointers that lead to those values, what you'd need to do is change the pointer to free space and then type in the value you want. Then the ev cap limit would be changed. (I think) and if you're working with an existing hack, since you can't decompile it again, the binary route is your only option for changing the ev limits.
So make a cfru file, with the evs set as normal, look through the offset file, and try to find the variables I listed above ev_cap current ev max total evs etc.
Then use a hex editor and search for instances of that pointer, it should I assume go to values of FC (252) if that is right, keep note of where it is.
Open your unbound or other cfru patched rom in the hex editor and check the same offset if its the same, then you can change the pointer to go to a place where there's free space.
Then fill in the value you want.
For reference incase you don't know.
A pointer is the offset with the first and last 2 values switched and with an 08 on the end.
ex.
123456 becomes 56341208