To try and reproduce your problem, using the same two coordinate systems as you on some test data that I created, I ran the test code below:
import arcpy
srWGS84 = arcpy.SpatialReference("WGS 1984")
srWebMerc = arcpy.SpatialReference("WGS 1984 Web Mercator (auxiliary sphere)")
arcpy.CreateFishnet_management("C:/Temp/testWGS84.shp",
"0 0","0 1","1","1","1","1",
"","NO_LABELS","DEFAULT","POLYGON")
arcpy.DefineProjection_management("C:/Temp/testWGS84.shp",srWGS84)
arcpy.AddField_management("C:/Temp/testWGS84.shp","POINT_NUM",
"SHORT","","","","","NULLABLE","NON_REQUIRED","")
arcpy.Project_management("C:/Temp/testWGS84.shp","C:/Temp/testWebMerc.shp",
srWebMerc,"",srWGS84,"NO_PRESERVE_SHAPE","","NO_VERTICAL")
The Short Integer field that I added remained as a Short Integer after running the Project.
Consequently, I am unable to reproduce what you are describing. If you cannot produce your unexpected result when running my test, I suggest that you investigate how the shapefile which you do see the unexpected result on was created.