Running 30mph max in a 40mph zone is too dangerous....unless he can ride in a 'bike' lane of some sort - but out in the normal 40mph traffic flow on a 30mph scoot is.....a crap shoot with his safety.
If he needs to travel those roads for school or work - he needs to take a different mode of transportation.
Take the scoot for rides around low speed neighborhoods only, or parks, etc.
He may not be too pleased with this decision - but he'll get over it.
Waiting one year to go bigger and on an appropriate scooter at appropriate speeds is the solution to your problem.
I do not know why they sell these mopeds - which cannot go safely on most roads in the civilized world - to anyone - and it is especially wrong to put young people on them.
An adult can derestrict these things and ride and not violate laws and insurance policies - but the scoot companies aim these at youngsters who have just enough $ to get an entry level set of wheels. I know adults who have learned to safely ride their 50cc Honda Metropolitans all over the place....but this is not a skill or mind set that 16 yr olds have.
Give him a hug, then take his keys away from him before you let him out in 40mph traffic on his moped.
Signed, a Dad.