Setting the spatial reference doesn't really do much for you in this case. You still need to make sure that the X and Y values are within a valid extent that matches that of your basemap. Ie. look at the FullExtent property of your basemap. Your x/y values should be within that extent.