Found an example in an old forum post, where someone used Left($string, -1) to trim a space off the end, and it works (Trim() also seems to work). Seems that the readprofilesstring adds an extra line feed at the end, which causes the split to add the extra array item. Why it fills that blank item with the keys names, I can't say. Odd that I've used INI's so much in the past and don't recall ever running into this issue at all. Could just be an age issue, lol.

 Code:
$printers = Split(Left(ReadProfileString(@ScriptDir + "\test.ini", "AccountingPrinters", ""),-1), chr(10))

For Each $printerKey in $printers
	? "Install the " + ReadProfileString(@ScriptDir + "\test.ini", "AccountingPrinters", $printerKey)
Next

get $