Huge thanks, Weedpacket.
As you pointed out, the iterative functions do in fact show double quotes around the Keys and Values in the array.
So, I took the double quotes off the Key/Value pairs in the target file and ran
array_key_exists("FirstName", $ffa);
and
echo $ffa["FirstName"];
but no joy - they still fail to find the item in the array.
I tried all the functions (iterative and non-iterative) on six different versions of the target file, using all combinations of double quotes, single quotes, and no quotes around the Key/Value pairs. Plus, I did the test run against the six files twice, using the functions first with single quotes and then with double quotes around the Key value.
The iterative functions work fine on all of the six file formats, but the non-iterative functions fail as before.
In any case, I looked at the parse_ini_file function you suggested, and with a little reworking of the target file to conform to the php.ini formatting, that function works like a charm, and with a much more readable target file than parse_str requires.
I'm still curious about the discrepancy I'm experiencing, but I guess that will require a look at the source code.
Thanks again.