Apparently, APIs are not immune to change as much as I'd hoped...
The root cause of the problems was due to a change in how the api included the "geometry" entry, and I'd used that entry to choose to do a point or zone process. Recently, they changed from providing a string (or null string) to a string or a null array.. D'Oh. bad form to switch variable types in the API, and so PHP rightly griped about trying a string function on an array.
The V5.08 change now uses the presence of an "icon" entry in the first forecast period.. if there, it's processed as a point forecast. If missing, then the zone forecast process is run instead. This is the method I should have used anyway. Live and learn...