CREATE USER is a standard in many relational databases e.g MySQL, PostgreSQL etc. You really shouldn't be inserting directly into mysql system tables. It's not portable.
PostgreSQL has phppgadmin and pgAdmin which provide a nice GUI experience for role management.
You don't need to create a custom type to return tuples anymore. (that kind of went out with 8.1). You can use OUT parameters or RETURNS TABLE syntax. RETURNS TABLE is ANSI compliant and supported since 8.3. SQL Server supports RETURNS TABLE as well.
Also check out our new book which came out this month. http://shop.oreilly.com/product/0636920025061.do
Its primary target audience are people coming from other relational databases.