How to mathematically round positions of all vertices to nearest integer?
Use the following script:

import bpy

obj = bpy.context.scene.objects.active

for vert in obj.data.vertices:
    vert.co.x = round(vert.co.x)
    vert.co.y = round(vert.co.y)
    vert.co.z = round(vert.co.z)


Let me know if you run into any problems :-)