Creo que su código vl = QgsVectorLayer("Point?crs=user:100001", "Project_center", "memory")
sólo funciona a partir de QGIS3.0. Para 2.xx puede probar lo siguiente:
from PyQt4.QtCore import QSettings
# save actualy value
crsType = QSettings().value('/Projections/defaultBehaviour') # only 2.x
QSettings().setValue('/Projections/defaultBehaviour','')
target_crs = QgsCoordinateReferenceSystem()
target_crs.createFromId(100001, QgsCoordinateReferenceSystem.InternalCrsId)
vl = QgsVectorLayer("Point", "Project_center", "memory")
vl.setCrs(target_crs)
print vl.crs().authid()
# set saved value
QSettings().setValue('/Projections/defaultBehaviour',crsType)