Executive Summary
Install: rom/programs/http/pastebin get agGfpAbX geode
What: A program to harvest a 1,830 abyssal stone geode from Railcraft
Where: Ocean biomes below 40 or so
Requirements: A mining turtle preferably chunk loading and an ender chest unloaded back at your base
Fuel: 875 fuel; I use lava buckets
Time: 22 minutes give or take a few seconds based on what is mined out
Resume from crash: Not currently; sorry
Game Version: I play FTB Ultimate on MC 1.5.2 (any pack with Railcraft 7.1.0.0 or later will work though)

I really love building my home from abyssal stone from Railcraft but harvesting it can be very tedious. Previously I would make an ocean biome world with Mystcraft and chuck an eight position frame mining well machine in it (RedPower2) and never worry about my abyssal stone supply (or many other resources for that matter). Sadly in a post-RedPower2 world that isn't possible anymore and I've had to resort to more hands on means.

My current 4-chunk base built from abyssal block and vibrant quartz


One of the few semi automatic methods still open to me is ComputerCraft and thus this post. I realize this is a pretty narrow task to undertake and don't expect flocks of people to use this but still I searched the interwebs and found zilch which did surprise me a little.

This program expects the turtle to begin in the lowest spot of the interior of the geode and facing in the negative z direction. The direction is not very important, it will only make a difference of two abyssal stone blocks because the geodes have an extra block in the negative x , y and z directions. It also expects an ender chest in slot 16 which is automatically unloaded back at base (pretty standard). It will prompt you if this is missing and wait until something is placed in slot 16. Finally, it takes 875 fuel to carry out this program and again the program will pause and refuel from slot 1 until the fuel level is greater than 875. This minFuel local variable can be easily changed in code if you play in a world without turtle fuel. I use a chunk loading mining turtle since it takes 22 minutes to mine out the geode which yields 1,830 abyssal stone blocks. I obviously don't stay and watch thus the chunk loading turtle.

Turtle placed in the geode's interior dimple facing in the -z direction


Inventory being emptied into an ender chest


Mining complete


The code could certainly use more comments and lua is not my primary programming language so there are probably more succinct ways of doing what I'm doing. If anyone has any lua advice, I am always happy to learn.
Spoiler

local minFuel = 875
local i=0
local function ClearTerminal()
  term.clear()
  term.setCursorPos(1,1)
end
local function AssureInv()
  if turtle.getItemCount(15)>0 then
	turtle.digDown()
	turtle.select(16)
	turtle.placeDown()
	for i=1,15,1 do
	  turtle.select(i)
	  turtle.dropDown()
	end
	turtle.select(16)
	turtle.digDown()
	--turtle.select(1)
  end
end
local function DigForward(count)
  for i=1,count,1 do
	AssureInv()
	turtle.dig()
	while turtle.forward()==false do
	  turtle.dig()
	  turtle.attack()
	  sleep(0.05)
	end
	turtle.digUp()
	turtle.digDown()
  end
end
local function RightFace()
  turtle.turnRight()
  DigForward(1)
  turtle.turnRight()
end
local function LeftFace()
  turtle.turnLeft()
  DigForward(1)
  turtle.turnLeft()
end
local function GoUp()
  for i=1,3,1 do
	while turtle.up()==false do
	  turtle.attackUp()
	  turtle.digUp()
	end
  end
  turtle.digUp()
end
local function DigTierOne()
  --Dig down to starting position
  turtle.digDown()
  turtle.down()
  turtle.digDown()
  turtle.down()
  turtle.digDown()
  turtle.down()
  turtle.digDown()
  turtle.up()
  DigForward(6)
  RightFace()
  DigForward(12)
  turtle.back()
  LeftFace()
  DigForward(10)
  RightFace()
  DigForward(10)
  turtle.back()
  LeftFace()
  DigForward(8)
  turtle.back()
  RightFace()
  DigForward(6)
  turtle.back()
  turtle.back()
  LeftFace()
  DigForward(2)
  turtle.back()
  turtle.turnLeft()
  DigForward(6)
  turtle.turnLeft()
  DigForward(6)
  RightFace()
  DigForward(12)
  turtle.back()
  LeftFace()
  DigForward(10)
  RightFace()
  DigForward(10)
  turtle.back()
  LeftFace()
  DigForward(8)
  turtle.back()
  RightFace()
  DigForward(6)
  turtle.back()
  turtle.back()
  LeftFace()
  DigForward(2)
  RightFace()
  GoUp()
end
local function DigTierTwo()
  --Row 1
  DigForward(4)
  turtle.turnRight()
  turtle.turnRight()
  DigForward(7)

  --Row 2
  LeftFace()
  DigForward(9)

  --Row 3
  RightFace()
  DigForward(11)

  --Row 4
  LeftFace()
  DigForward(13)

  --Row 5
  RightFace()
  DigForward(14)

  --Row 6
  LeftFace()
  DigForward(14)

  --Row 7
  RightFace()
  DigForward(14)

  --Row 8
  LeftFace()
  DigForward(14)

  --Row 9
  RightFace()
  DigForward(14)

  --Row 10
  LeftFace()
  DigForward(14)

  --Row 11
  RightFace()
  DigForward(14)
  turtle.back()

  --Row 12
  LeftFace()
  DigForward(12)
  turtle.back()

  --Row 13
  RightFace()
  DigForward(10)
  turtle.back()

  --Row 14
  LeftFace()
  DigForward(8)
  turtle.back()

  --Row 15
  RightFace()
  DigForward(6)
end
local function DigTierThree()
  turtle.turnLeft()
  turtle.turnLeft()
  DigForward(8)
  LeftFace()
  DigForward(11)
  RightFace()
  DigForward(12)
  LeftFace()
  DigForward(13)
  RightFace()
  DigForward(14)
  LeftFace()
  DigForward(14)
  RightFace()
  DigForward(14)

  --Get the sole abyssal block projecting in the -x direction
  turtle.turnLeft()
  DigForward(1)
  turtle.turnRight()
  turtle.dig()
  turtle.turnLeft()
  turtle.turnLeft()
  DigForward(14)
  RightFace()
  DigForward(14)
  LeftFace()
  DigForward(14)
  RightFace()
  DigForward(14)
  turtle.back()
  LeftFace()
  DigForward(12)
  RightFace()
  DigForward(12)
  turtle.back()
  LeftFace()
  DigForward(10)
  turtle.back()
  turtle.back()
  RightFace()
  DigForward(3)
  turtle.turnLeft()
  turtle.dig()
  turtle.turnRight()
  DigForward(3)
end
local function DigTierFour()
  turtle.turnLeft()
  turtle.turnLeft()
  DigForward(7)
  LeftFace()
  DigForward(9)
  RightFace()
  DigForward(11)
  LeftFace()
  DigForward(13)
  RightFace()
  DigForward(14)
  LeftFace()
  DigForward(14)
  RightFace()
  DigForward(14)
  LeftFace()
  DigForward(14)
  RightFace()
  DigForward(14)
  LeftFace()
  DigForward(14)
  RightFace()
  DigForward(14)
  turtle.back()
  LeftFace()
  DigForward(12)
  turtle.back()
  RightFace()
  DigForward(10)
  turtle.back()
  LeftFace()
  DigForward(8)
  turtle.back()
  RightFace()
  DigForward(6)
end
local function MoveToTierFive()
  turtle.back()
  turtle.back()
  turtle.turnLeft()
  turtle.back()
  turtle.turnLeft()
  GoUp()
end
local function DigTierFive()
  DigForward(4)
  LeftFace()
  DigForward(7)
  RightFace()
  DigForward(9)
  LeftFace()
  DigForward(10)
  RightFace()
  DigForward(11)
  LeftFace()
  DigForward(12)
  RightFace()
  DigForward(12)
  LeftFace()
  DigForward(12)
  turtle.back()
  RightFace()
  DigForward(10)
  LeftFace()
  DigForward(10)
  turtle.back()
  RightFace()
  DigForward(8)
  turtle.back()
  LeftFace()
  DigForward(6)
  turtle.back()
  turtle.back()
  RightFace()
  DigForward(2)
end
local function FinalDump()
  turtle.select(16)
  turtle.placeDown()
  for i=1,15,1 do
	turtle.select(i)
	turtle.dropDown()
  end
  turtle.select(16)
  turtle.digDown()
end
--=========== Main Program ===========
--Make sure we have enough fuel to begin
ClearTerminal()
if turtle.getFuelLevel()<minFuel then
  print("WARNING: Insufficient fuel; please add fuel to slot 1")
end
turtle.select(1)
while turtle.getFuelLevel()<minFuel do
  if turtle.refuel()==true then
	print("Fuel level now " .. turtle.getFuelLevel() .. " of " .. minFuel .. " needed")
  end
  sleep(0.1)
end
--Make sure we have an ender chest to
--route material back to our base
if turtle.getItemCount(16)~=1 then
  print("Place an ender chest in slot 16")
end
while turtle.getItemCount(16)~=1 do
  sleep(0.1)
end
--Proceed with the geode mining
ClearTerminal()
print("Digging geode, check back in 22 minutes")
print("Initial fuel level is " .. turtle.getFuelLevel())
DigTierOne()
DigTierTwo()
GoUp()
DigTierThree()
GoUp()
DigTierFour()
MoveToTierFive()
DigTierFive()
FinalDump()
print("Final fuel level is " .. turtle.getFuelLevel())

Finally the pastebin ID is agGfpAbX so the command line would be: rom/programs/http/pastebin get agGfpAbX geode
I hope others find this as useful as I have!