I honestly don't know anything, just suppositions though.
@Oldgateboatdriver probably has the reference for how we do hull numbers. I couldn't find it online as Canada doesn't fallow the NATO numbering system.
000 series - Carriers (Warrior 20, Magnificent 21, Bonaventure 22)
100 series - no clue
200 series - Destroyers
300 series - Frigates
400 series - Patrol Vessels
500 series - Supply/Support ships
600 serires - no clue
700 series - Minesweepers
800 series - Submarines
To say that we have a system,
@Underway, would be putting too much strain on the word system from an epistemological point of view.
Until the HAL's and the MCDV, not much thought had gone into the numbering system, if any, of the RCN.
You say the 0-99 series is for carriers? (P.S. Warrior was 31, not 20, keeping its British number, but losing the "R" designation for the American "CVL" one) Then what about QUEBEC (C66), ONTARIO (C53), PRINCE's DAVID, HENRY and ROBERT (F89, F70 and F56, respectively). MAGNIFICENT was CVL (instead of "R") 21 because she was R21 in the RN, so we then used 22 for BONAVENTURE. That's the only reason.
But all the original RCN destroyers were also in that series:
SAGUENAY D79, SKEENA D59, ASSINIBOINE I18, CHAUDIERE H99, FRASER H48, etc. etc.
Even the original Tribal class were in the 0-99 range originally, until they were turned into DDE's, which is why HAIDA was G63 during the war but became DDE 215 after her refit into a DDE. The time at which refits into DDE's were made is what determined that destroyers would have pennant numbers in the 200, but that is because all the lower numbers in the 0 to about 200 had already been used by WWII vessels of all sorts - be they frigates, destroyers or corvettes.
Another P.S. here If you were to start the new RCD where we left off with ALGONQUIN (II), staring then at 284, you get 298 for the last RCD - still in the 200's.
The WWII corvettes/frigates were all over the place: All of them had a three digit pennant number, staring at K101 for NANAIMO, all the way up to K685 for BUCKINGHAM. Again, it is only when some of the River class frigates of WWII were turned into the PRESTONIAN ocean escorts that someone decided to use numbers starting at 301 for PRESTONIAN herself. No specific reason was given. Somehow, the numbering stuck with "frigates" thereafter, yet they had ceased to be referred to as frigates, but were simply called "ocean escorts" at that point.
As for the 100 series after the war, it was a grab bag: The Bay class minesweepers were in that range (143 to164), so were the Gate Vessels (180 to 186), the various ex-RCMP patrol vessels of the naval reserve (104,140, then 193 to 199) or the old R-class coast guard vessels (141 and 142)
The YAG's were in the 300 series, but were definitely not frigates.
The only logic to the assignment of pennant numbers in the RCN that can be discerned are probably the following ones:
Up to and inclusive of the beginning of the Korean war, our vessels were of British designs and we flew the White Ensign. Therefore, we took our numbering from the Brits so as to avoid duplication that would have made identification impossible. In other words, it was the RN that determined our pennant numbers.
Starting somewhere around the Korean war, we started to designate our ships using, generally, the American ship's type designation system (which is why the SAINT-LAURENTS were "Destroyer Escorts" instead of "frigates"), but without the American practice of starting at "1" for the first ship of a given type, then continuing the series for all subsequent ships of such type. Instead we sort of decided on numbering as we went along, probably just to avoid confusion with the Americans, such as the PRESTONIAN starting at 301 and the Destroyer Escorts staring (why?) at 213 with NOOTKA. The AOR's started at 508. Why? Again, probably on a whim at the time.
I think the first true attempt at setting a system in place occurred with the HAL's, starting at 330 , and the MCDV, staring at 700.
If there is an actual "system" in place now, I don't know about it, or under what publication it is issued, and, unless classified (that would be weird), I would love to be directed to it.