Why does it take so long to prove optimality when warm-starting from optimal solution
An IP-solver can use relaxations of variants of the integer program (that is, the linear program where the integrality constraints are dropped) among other steps to compute the final solution. 

For these individual relaxations, the solver can indeed efficiently verify that it has an optimal basis. However, solving a relaxation is only a subproblem of solving the original IP. Therefore, even if you give an optimal solution to the original IP, this does not (necessarily) directly correspond to a basis in a relaxed LP, and the solver has to inspect other solutions than checking a basis.



There is one case in which providing an IP solution does allow for a fast check of optimality: when the relaxation of the IP is guaranteed to have the same solution as the original IP. (This is the case when the matrix describing the IP is totally unimodular or equivalently when the solution space is an integral polyhedron) 

However, it is unlikely that the solver will be able to detect when this is the case. So, you will have to do that by some other means, and if the relaxed solution indeed solves the IP, you can let the solver solve the relaxed instance, and then the LP solver can quickly verify if your solution is optimal.