EDIT, this post is mostly wrong about conclusions but read on to Pocus' explanation for details.
I've searched on this forum before about naval engineers in CW2, and the answers are mixed. Do they work, or don't they? Some people say they speed up repair, and some say they see no benefit. After researching unrelated things in the code, I believe I've found the answer and you're probably not going to like it.
The naval engineers in CW2 do not work. They never have, and they never will. *In fact, they don't do anything at all except consume resources.* That's the sum of it. If you care about why, read on.
First, ships in CW2 aren't really being repaired; they getting replacements. That's set by this game rule:
// Ships use replacements and not directly assets to be repaired
rulShipsUseRepl = 1
I don't know if that's a boolean variable or if there are multiple levels. Regardless, ships only use replacements, which only require whatever simple resources (money, WS, conscripts) are defined for the model in question. There are no assets beyond those in CW2, because CW2 is using simple economy rules. For "naval repair" speed increase to work in CW2, it has to increase the speed at which naval units get replacements. Remember that.
The CW2 naval engineers have an "ability", but it's just a flavor type of ability that places a description on the user interface for the unit that says something. The something in this case could be, "this unit drinks lava and pisses champagne." Flavor abilities are descriptions only; they do nothing else.
According the last AGE wiki entry I could find on the subject, the attribute that's needed to allow a model to affect naval repair speed is called *NavalRepair*.
*NavalRepair* // if rulEconomyMode_ >= _gmdAdvanced
*NavalSupply* // not currently used
*NavalBuild* // rulEconomyMode_ >= _gmdAdvanced
That attribute is not on any model in CW2. The only attributes that a naval engineer model has are *CanBuildRail* and *CanDestroyRail*. But that's not the only problem. The *NavalRepair* attribute only works when the advanced economy rule is enabled. CW2 uses simple economy rules, and was designed that way (per Pocus, search the forum). The naval repair attribute is in the CW2 engine code and it exists on certain structures like ship yards. But it doesn't do anything for structures, either, because the set of rules *NavalRepair* needs to engage aren't operating.
(BTW, *CanBuildRail* and *CanDestroyRail* also do nothing in CW2, almost certain)
Unless the engine code has it blocked in some way, to enable the advanced economy rule in CW2 is as simple as entering the appropriate line in GameRules.opt. But to do that would be equivalent to waking somebody up in the middle of their appendectomy and telling them to do somersaults. All the other pieces of an AGE advanced economy are not in place, not even the part of the user interface to twiddle the knobs for it. Before you ask, no, I can't/won't construct a CW2 advanced economy. It could definitely improve the flavor of the game, but sadly it wasn't implemented.
Orso posted a long time back that he had seen the naval repair effect working, but I'm 99% certain he was wrong. There is nothing obvious in the engine code I can see that identifies a specific model name. A model name/family/sub-type is the only way, other than the *NavalRepair* attribute, that the engine would identify which model has an ability to change naval repair speed; or in this case replacement speed since naval units don't use other assets that exist under advanced economy rules. Ship yards and naval yards do provide more resources, but those same resources are used for cavalry, balloons, etc.
I regret to tell you all those resources you used to park a CSA naval engineer in Mobile went down the toilet. Should've bought another 6-pdr, reb'.
Why are naval engineers still in the game and sold as working when clearly they are not? I can only speculate, but you're better off disbanding and not purchasing them.