Yay finally, I think that this bug is actually in all of my wifi programs :| (and probably in some other peoples wifi programs too)
For all those devs who are using wifi, if you enumerate all the connections as follows:
for (iNetIndex = 1; iNetIndex < 100; iNetIndex++) // skip the 0th connection
{
if (sceUtilityCheckNetParam(iNetIndex) != 0)
break; // no more
.......... // <- at this point you have a good connection, add it to your picks list
}
You are actually doing it wrong

If a user has added 2 wifi connections and then deleted the first one, then when you call sceUtilityCheckNetParam(1); it will return a non zero value, but calling sceUtilityCheckNetParam(2); will return zero as there is a connection there.
Alter the code to do continue; instead of break; when sceUtilityCheckNetParam(iNetIndex) returns a non-zero value, giving:
for (iNetIndex = 1; iNetIndex < 100; iNetIndex++) // skip the 0th connection
{
if (sceUtilityCheckNetParam(iNetIndex) != 0)
continue; // no connection here
.......... // <- at this point you have a good connection, add it to your picks list
}
So we check the first 100 network connections to see if there is a connection set up in any instead of stopping when we hit an index where there is no network connection.
This error was in PSPPets original wifi examples, as these are the only examples I've seen that enumerate the connections then I think it is likely that many other wifi apps will have this trouble too.