According to wikipedia’s page on the express data modelling language, number is typically implemented as a double. This is also expected in view of IfcNumericMeasure often needing to be a real.
In Ifc2x3 Tc1 and Ifc4 Add2 Tc1, IfcCountMeasure is defined as a NUMBER, while in Ifc4x3 Add2 it is defined as an INTEGER. Indeed, in view of the existence of IfcNumericMeasure and the intention of IfcCountMeasure, it makes sense to change it. But…
There can be an IfcCountMeasure with value 3.5 inside an Ifc4 file. This change hence breaks backward compatibility (i.e. the Ifc4 data doesn’t ‘fit’ in the Ifc4x3). From a data modeling perspective, it seems a bit odd to force this change without a major version bump.
Applying the second of the Object Oriented Solid Principles would not be bad (The Open–closed principle: "Software entities … should be open for extension, but closed for modification).