@Marek: Normally the psePIPOINTDELETED error is returned when a point is deleted on the server and a PI SDK application already holds a PIPoint object for that point. When this error is received, it indicates that the PIPoint object is no longer valid. The application should release its reference to the PIPoint object. If an application, when receiving this error, suspects that a point was deleted and a new tag of the same name was added (perhaps to change the pointtype), the application can retrieve the PIPoint again from the Servers PIPoints collection. This retrieval will either succeed, returning the new point of that name, or fail if there is no such point on the server.
If the local PISDK (top-level) object you are using is not refreshed, the tag was previously used in the application and it is then deleted by an outside application or a different thread using a different PI SDK connection, you will be in a desynchronization problem. You would need to refresh the cache of this PISDK (top-level) object or request another reference of the same PI Point.
Have you manipulated the point to remove it and re-create it? Do you know if another process could have deleted the PI Point? Is it the only PI Point affected? What was the version of PI SDK used before that returned you a Null value when the PI Point did not exist?
The normal behavior is that when a PI Point does not exist an exception is generated.
Thank you very much for your help. You have right, it was an concurrency issue. I have just added the code that refresh the PI-SDK server object (not the top-level PI-SDK) and this solve the problem. You are also right about the exception, I have written that I was receiving a null value, but it was not true - my mistake, sorry for that. Anyway thank you for help!