One way to know if Vsync is enabled is to calculate the number of frames that are drawn in, say, a second. Then you compare it to the amount that should be (refresh rate monitor).
The way I get the monitor refresh rate in Windows is with the code below:
DEVMODE lpDevMode;
memset(&lpDevMode, 0, sizeof(DEVMODE));
lpDevMode.dmSize = sizeof(DEVMODE);
lpDevMode.dmDriverExtra = 0;
if (EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &lpDevMode))
rate = lpDevMode.dmDisplayFrequency; // rate = refresh rate monitor
For Linux I have the following code, but I never tried:
Display *dpy = XOpenDisplay(NULL);
Window root = RootWindow(dpy, 0);
XRRScreenConfiguration *conf = XRRGetScreenInfo(dpy, root);
rate = static_cast<int>(XRRConfigCurrentRate(conf));
XCloseDisplay(dpy);
Unfortunately I could not find it for Mac.