No, it's not bad at all at least looking from this context. Packages are very much part of the Ports Collection.
However by using packages, you are not privy to app-specific optimization, default FreeBSD compiler flags is de-optimized for i386.
The fact that matters was that /usr/local/include/mysql is not a exactly one of the standard include directories hence why gcc must explicitly be told. By using the ports, it eases the micromanaging by pinpointing in the port's Makefile of where to look for certain non-standard files or path, in this case, MySQL's include files and libraries.
This can be applied on other dependencies, not necessarily limited to MySQL.