BRepBndLib::Add() doesn't compute an exact bounding box, but a rough bounding >= shape. BRepBndLib::Add() by default (see last argument) uses triangulation data stored in the shape, so that the result will depend on the presence of triangulation and on it's quality (meshing parameters).
If you don't call BRepMesh in your code at all (and do not display shapes in AIS_InteractiveContext), then it is not surprise that bounding could different from CAD Assistant (and even if you do - your meshing parameters might be different).