Vince,
thanks for your reply.
To answer some of your questions :
The version of Oracle we are using 10.2.0.3.0.
I am happy to use which ever service pack version of the SDK which works.
In respect to a problem with the application, SESHape.getAllCoords returns the double values representing the coordinates. From an application level, there is nothing I can do to influence this?
The code doesn't change the coordinate reference parameters in anyway.
The coordinate reference parameters (I think you mean this) are
Coord ref system PROJCS["British_National_Grid",GEOGCS["GCS_OSGB_1936",DATUM["D_OSGB_1936",SPHEROID["Airy_1830",6377563.396,299.3249646]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",400000.0],PARAMETER["False_Northing",-100000.0],PARAMETER["Central_Meridian",-2.0],PARAMETER["Scale_Factor",0.999601272],PARAMETER["Latitude_Of_Origin",49.0],UNIT["Meter",1.0]]
There is a secondary srid set in the sde.layers table for the layer in question. This is "26". Not sure what that represents.
I do also believe that the layer was upgraded to HIGH precision at some point in the past.
I do feel there is an issue with the underlying SDK, as the same set of code (using different service pack versions of the JAR files) produce different results. Service pack 3 gets SET A correct and SET B incorrect, and service pack 4 and above gets SET B correct and SET A incorrect.
I am waiting the versions of the database version of ARCSDE and the server version of ARCSDE. I will update when I have that, but if you could provide any more help in the meantime, that would be great.
Thanks again.
EDIT: Just to add I am NOT using direct connection.