I'm not sure what the confusion is but ...
DEV
PGA=0,Name=AMU,ID=0
DEVDETAILS
DEVDETAILS=0,Name=AMU,ID=0
There is no trick to the association ... Name+ID from one to the other
... except ... missing from DEVS for a GPU, is it has no Name or ID
In miner.php I generate it easily enough:
function joinsections($sections, $results, $errors)
{
global $sectionmap;
// GPU's don't have Name,ID fields - so create them
foreach ($results as $section => $res)
.
.
.
The names GPU, PGA, ASC in the API are to allow for device selection in the API via a number.
So if you want to affect the first PGA, with a PGA command, it is PGA=0, for the 10th one it is PGA=9
i.e. independent of the screen display - the screen display is Name,ID
I was planning once to also allow selection via the Name,ID but ... as is common I got side tracked ... and since most of the development I do in cgminer is for myself (I get very few donations) I usually do what I feel needs to be done.
I do of course appreciate the donations I get from a few people indeed - but they are not as common for me ... as others

Edit: though of course I get hardware donations and indeed work on the drivers for them as required

Thank you Kano. It's clear now, it was my bad that I assumed something wrong based on previous tests with a GPU and miss-interpretation of a short look of the api.c - File.