CreatePIPoints, FindPIPointsByPath, and other related functions should have the same return type.
Currently, a method like PIServer.CreatePIPoints returns AFListResults<String, PIPoint>. Very similarly, PIPoint.FindPIPointsByPath will return AFKeyedResults<String, PIPoint>. The functionality of each result is essentially the same; they even have, for most practical purposes, the same associated properties and methods and thus; they should not be different object types.
Sharing an object type across all of these PIPoint-related functionalities would allow developers to more easily share methods for these related functions (Such as error handling methods).