Refactor the actual code you want to execute into their own methods, and have the Init methods call that code, and have the create method call that code as well.
It sounds like your objects are not well designed at the moment. Try to break your methods down to smaller, more constrained units.
Edit:
I think my answer still stands.
If the Init method in the parent component does some stuff, move that stuff to a new method, say, "initDoStuff(), and have the init method call that method.
Then, have your create method call the initDoStuff() method instead of init.
ColdFusion is a dynamically typed language, and you don't need to override methods just to accept different parameters. You can do that in other ways.
CF isn't able to pick methods based on argument signatures. So, if you have a situation like this, you need to handle it in a different way.
Basically, the idea of overriding a method to change its argument types is not really valid in ColdFuion.
Component A:
<cffunction name="init" access="public" output="false">
<cfargument name=... ...>
<cfreturn initDoSomething(argumentCollection=arguments)>
</cffunction>
<cffunction name="initDoSomething" access="package" output="false">
{do stuff}
<cfreturn {whatever}>
</cffunction>
Component B:
<cffunction name="create" access="package" output="false">
<cfset {something} = initDoSomething({whatever arguments})>
<cfreturn {whatever}>
</cffunction>